@itwin/ecschema-metadata
Version:
ECObjects core concepts in typescript
87 lines • 4.56 kB
TypeScript
import { AbstractParser, CAProviderTuple } from "./AbstractParser";
import { ConstantProps, CustomAttributeClassProps, EntityClassProps, EnumerationProps, InvertedUnitProps, KindOfQuantityProps, MixinProps, NavigationPropertyProps, PhenomenonProps, PrimitiveArrayPropertyProps, PrimitivePropertyProps, PropertyCategoryProps, RelationshipClassProps, SchemaItemFormatProps, SchemaItemUnitProps, SchemaProps, SchemaReferenceProps, StructArrayPropertyProps, StructClassProps, StructPropertyProps, UnitSystemProps } from "./JsonProps";
import { ECSpecVersion } from "./Helper";
/** @internal */
export declare class XmlParser extends AbstractParser<Element> {
private _rawSchema;
private _schemaName?;
private _schemaReferenceNames;
private _schemaAlias;
private _schemaVersion?;
private _xmlNamespace?;
private _currentItemFullName?;
private _schemaItems;
private _mapIsPopulated;
constructor(rawSchema: Readonly<Document>);
get getECSpecVersion(): ECSpecVersion | undefined;
parseSchema(): SchemaProps;
getReferences(): Iterable<SchemaReferenceProps>;
getItems(): Iterable<[string, string, Element]>;
findItem(itemName: string): [string, string, Element] | undefined;
parseEntityClass(xmlElement: Element): EntityClassProps;
parseMixin(xmlElement: Element): MixinProps;
parseStructClass(xmlElement: Element): StructClassProps;
parseCustomAttributeClass(xmlElement: Element): CustomAttributeClassProps;
parseRelationshipClass(xmlElement: Element): RelationshipClassProps;
parseEnumeration(xmlElement: Element): EnumerationProps;
parseKindOfQuantity(xmlElement: Element): KindOfQuantityProps;
parsePropertyCategory(xmlElement: Element): PropertyCategoryProps;
parseUnit(xmlElement: Element): SchemaItemUnitProps;
parseInvertedUnit(xmlElement: Element): InvertedUnitProps;
parseConstant(xmlElement: Element): ConstantProps;
parsePhenomenon(xmlElement: Element): PhenomenonProps;
parseFormat(xmlElement: Element): SchemaItemFormatProps;
parseUnitSystem(xmlElement: Element): UnitSystemProps;
getProperties(xmlElement: Element, itemName: string): Iterable<[string, string, Element]>;
parsePrimitiveProperty(xmlElement: Element): PrimitivePropertyProps;
parseStructProperty(xmlElement: Element): StructPropertyProps;
parsePrimitiveArrayProperty(xmlElement: Element): PrimitiveArrayPropertyProps;
parseStructArrayProperty(xmlElement: Element): StructArrayPropertyProps;
parseNavigationProperty(xmlElement: Element): NavigationPropertyProps;
getSchemaCustomAttributeProviders(): Iterable<CAProviderTuple>;
getClassCustomAttributeProviders(xmlElement: Element): Iterable<CAProviderTuple>;
getPropertyCustomAttributeProviders(xmlElement: Element): Iterable<CAProviderTuple>;
getRelationshipConstraintCustomAttributeProviders(xmlElement: Element): [Iterable<CAProviderTuple>, Iterable<CAProviderTuple>];
private getElementChildren;
private getElementChildrenByTagName;
private getOptionalAttribute;
private getOptionalFloatAttribute;
private getOptionalIntAttribute;
private parseBoolean;
private getRequiredAttribute;
private getSchemaReference;
private getSchemaItemType;
private getSchemaChildren;
private getSchemaItemProps;
private getClassProps;
private getRelationshipConstraintProps;
private getPropertyType;
private getPropertyName;
private getPropertyProps;
private getPropertyTypeName;
private getPrimitiveOrEnumPropertyBaseProps;
private getPropertyMinAndMaxOccurs;
private getCustomAttributeProviders;
private getCustomAttributeProvider;
private addCAPropertyValues;
private readPropertyValue;
private readArrayPropertyValue;
private readPrimitiveArrayValues;
private readStructArrayValues;
private readStructPropertyValue;
private readPrimitivePropertyValue;
private getBooleanPropertyValue;
private getIntegerPropertyValue;
private getDatePropertyValue;
private getDoublePropertyValue;
private getPoint2DPropertyValue;
private getPoint3DPropertyValue;
private isSchemaFullNameValidForVersion;
static parseXmlNamespace(xmlNamespace: string): ECSpecVersion | undefined;
private getQualifiedTypeName;
/** The rest of the API uses the full name format of `{SchemaName}.{SchemaItemName}`,
* meaning all of the references in the format string need to be changed.
*/
private getQualifiedPresentationUnits;
}
//# sourceMappingURL=XmlParser.d.ts.map