EnsLib.EDI.XML.Schema

class EnsLib.EDI.XML.Schema extends %Library.RegisteredObject

VDoc Schema classmethods and queries also instance of local parser state

Data structure built in $$$vaSchemaGbl(category) for schema associatedc with category.
Source documents for this schema and imported/inlcuded schemas.
   $$$vaSchemaGbl(category,"src")=srcCount
   $$$vaSchemaGbl(category,"src",srcIndex)=[[ source schema document path ]]
Namespace defined by this schema and its inported and inlcuded schemas.
   $$$vaSchemaGbl(category,"ns","targ")=targetNamespace
   $$$vaSchemaGbl(category,"ns","index",namespaceURI)=nsIndex
   $$$vaSchemaGbl(category,"ns","list",nsIndex,"AttributeQualified")=attributeFormDefault
   $$$vaSchemaGbl(category,"ns","list",nsIndex,"ElementQualified")=elementFormDefault
   $$$vaSchemaGbl(category,"ns","list",nsIndex,"Package")=packageName
   $$$vaSchemaGbl(category,"ns","list",nsIndex,"Prefix")=prefix
   $$$vaSchemaGbl(category,"ns","list",nsIndex,"uri")=namespaceURI
Document Property Structure by type used to show content array
   $$$vaSchemaGbl(category,"p","Element:Structure)=# of children
   $$$vaSchemaGbl(category,"p","Element:Structure,1..n,"name")=Name of child
   $$$vaSchemaGbl(category,"p","Element:Structure,1..n,"type")=Type (Element:Structure) of child
Documentation nodes contained in top level annotation node.
   $$$vaSchemaGbl(category,"desc")=elIndex,...  (may have multiple documentation nodes.
Raw schema document elements.
$$$vaSchemaGbl(category,elIndex,...) describes an element from the schema document.
   $$$vaSchemaGbl(category,elIndex,"ch")=childElIndex ; element index of each child element
   $$$vaSchemaGbl(category,elIndex,"chars")=text associated with node
If the schema element
   $$$vaSchemaGbl(category,elIndex)=$lb("schema")
An element node of the schema
   $$$vaSchemaGbl(category,elIndex,"local")=element ("element", "attribute", etc)
   $$$vaSchemaGbl(category,elIndex,"src")=srcIndex  (see source list above)
   $$$vaSchemaGbl(category,elIndex,"attrs",attrName)=value  (for each attribute of the schema element.)
General information for top level schema elements
 elType="DS": element (DocType) 
 elType="CT": complexType
 elType="ST": simpleType or attribute
 elType="CG": group or attributeGroup
   $$$vaSchemaGbl(category,elIndex,"")=elIndex,...  (multiple elIndex allowed (e.g. for elewment and complexType)
   $$$vaSchemaGbl(category,elIndex,"",elIndex)=elType
   $$$vaSchemaGbl(category,elIndex,elType,name)=elIndex 
   $$$vaSchemaGbl(category,elIndex,elType,name,"ns")=nsIndex 
           if name appears in more than one namespace, then name$nsIndex

   $$$vaSchemaGbl(category,elIndex,elType,name,"meta",... for meta information
     "ns")=$$$vaSchemaGbl(category,elIndex,elType,name,"ns")

Property Inventory

Method Inventory

Parameters

parameter MAXCONTENTARRAYDEPTH = 20;
limit depth of recursion building ContentArray "array" subscript to avoid size and time overflows

Properties

property Base as %String;
Property methods: BaseDisplayToLogical(), BaseGet(), BaseIsValid(), BaseLogicalToDisplay(), BaseLogicalToOdbc(), BaseNSIndexDisplayToLogical(), BaseNSIndexGet(), BaseNSIndexIsValid(), BaseNSIndexLogicalToDisplay(), BaseNSIndexNormalize(), BaseNSIndexSet(), BaseNormalize(), BaseSet()
property BaseNSIndex as %Integer;
Property methods: BaseNSIndexDisplayToLogical(), BaseNSIndexGet(), BaseNSIndexIsValid(), BaseNSIndexLogicalToDisplay(), BaseNSIndexNormalize(), BaseNSIndexSet()
property Category as %String;
Property methods: CategoryDisplayToLogical(), CategoryGet(), CategoryIsValid(), CategoryLogicalToDisplay(), CategoryLogicalToOdbc(), CategoryNormalize(), CategorySet()
property CurrNode as %String;
Property methods: CurrNodeDisplayToLogical(), CurrNodeGet(), CurrNodeIsValid(), CurrNodeLogicalToDisplay(), CurrNodeLogicalToOdbc(), CurrNodeNormalize(), CurrNodeSet()
property Default as %String;
Property methods: DefaultDisplayToLogical(), DefaultGet(), DefaultIsValid(), DefaultLogicalToDisplay(), DefaultLogicalToOdbc(), DefaultNormalize(), DefaultSet()
property IsQual as %String;
Property methods: IsQualDisplayToLogical(), IsQualGet(), IsQualIsValid(), IsQualLogicalToDisplay(), IsQualLogicalToOdbc(), IsQualNormalize(), IsQualSet()
property ItemType as %String;
Property methods: ItemTypeDisplayToLogical(), ItemTypeGet(), ItemTypeIsValid(), ItemTypeLogicalToDisplay(), ItemTypeLogicalToOdbc(), ItemTypeNormalize(), ItemTypeSet()
property LocalType as %String;
Property methods: LocalTypeDisplayToLogical(), LocalTypeGet(), LocalTypeIsValid(), LocalTypeLogicalToDisplay(), LocalTypeLogicalToOdbc(), LocalTypeNormalize(), LocalTypeSet()
property LocalVal as %String;
Property methods: LocalValDisplayToLogical(), LocalValGet(), LocalValIsValid(), LocalValLogicalToDisplay(), LocalValLogicalToOdbc(), LocalValNormalize(), LocalValSet()
property Max as %String;
Property methods: MaxDisplayToLogical(), MaxGet(), MaxIsValid(), MaxLogicalToDisplay(), MaxLogicalToOdbc(), MaxNormalize(), MaxSet()
property MemberTypes as %String;
Property methods: MemberTypesDisplayToLogical(), MemberTypesGet(), MemberTypesIsValid(), MemberTypesLogicalToDisplay(), MemberTypesLogicalToOdbc(), MemberTypesNormalize(), MemberTypesSet()
property Min as %String;
Property methods: MinDisplayToLogical(), MinGet(), MinIsValid(), MinLenDisplayToLogical(), MinLenGet(), MinLenIsValid(), MinLenLogicalToDisplay(), MinLenLogicalToOdbc(), MinLenNormalize(), MinLenSet(), MinLogicalToDisplay(), MinLogicalToOdbc(), MinNormalize(), MinSet()
property MinLen as %String;
Property methods: MinLenDisplayToLogical(), MinLenGet(), MinLenIsValid(), MinLenLogicalToDisplay(), MinLenLogicalToOdbc(), MinLenNormalize(), MinLenSet()
property Mixed as %Boolean;
Property methods: MixedDisplayToLogical(), MixedGet(), MixedIsValid(), MixedLogicalToDisplay(), MixedNormalize(), MixedSet()
property Name as %String;
Property methods: NameDisplayToLogical(), NameGet(), NameIsValid(), NameLogicalToDisplay(), NameLogicalToOdbc(), NameNSIndexDisplayToLogical(), NameNSIndexGet(), NameNSIndexIsValid(), NameNSIndexLogicalToDisplay(), NameNSIndexLogicalToOdbc(), NameNSIndexNormalize(), NameNSIndexSet(), NameNormalize(), NameSet()
property NameNSIndex as %String;
Property methods: NameNSIndexDisplayToLogical(), NameNSIndexGet(), NameNSIndexIsValid(), NameNSIndexLogicalToDisplay(), NameNSIndexLogicalToOdbc(), NameNSIndexNormalize(), NameNSIndexSet()
property OriginalName as %String;
Property methods: OriginalNameDisplayToLogical(), OriginalNameGet(), OriginalNameIsValid(), OriginalNameLogicalToDisplay(), OriginalNameLogicalToOdbc(), OriginalNameNormalize(), OriginalNameSet()
property RefNo as %String;
Property methods: RefNoDisplayToLogical(), RefNoGet(), RefNoIsValid(), RefNoLogicalToDisplay(), RefNoLogicalToOdbc(), RefNoNormalize(), RefNoSet()
property Rep as %String;
Property methods: RepDisplayToLogical(), RepGet(), RepIsValid(), RepLogicalToDisplay(), RepLogicalToOdbc(), RepNormalize(), RepSet()
property Req as %String;
Property methods: ReqDisplayToLogical(), ReqGet(), ReqIsValid(), ReqLogicalToDisplay(), ReqLogicalToOdbc(), ReqNormalize(), ReqSet()
property StructNode as %String;
Property methods: StructNodeDisplayToLogical(), StructNodeGet(), StructNodeIsValid(), StructNodeLogicalToDisplay(), StructNodeLogicalToOdbc(), StructNodeNormalize(), StructNodeSet()
property Type as %String;
Property methods: TypeCategoriesClose(), TypeCategoriesExecute(), TypeCategoriesFetch(), TypeCategoriesFetchRows(), TypeCategoriesFunc(), TypeCategoriesGetInfo(), TypeCategoriesGetODBCInfo(), TypeCategoriesPrepare(), TypeCategoriesSendODBC(), TypeDisplayToLogical(), TypeGet(), TypeIsValid(), TypeLogicalToDisplay(), TypeLogicalToOdbc(), TypeNSIndexDisplayToLogical(), TypeNSIndexGet(), TypeNSIndexIsValid(), TypeNSIndexLogicalToDisplay(), TypeNSIndexNormalize(), TypeNSIndexSet(), TypeNormalize(), TypeSet()
property TypeNSIndex as %Integer;
Property methods: TypeNSIndexDisplayToLogical(), TypeNSIndexGet(), TypeNSIndexIsValid(), TypeNSIndexLogicalToDisplay(), TypeNSIndexNormalize(), TypeNSIndexSet()
property Use as %String;
Property methods: UseDisplayToLogical(), UseGet(), UseIsValid(), UseLogicalToDisplay(), UseLogicalToOdbc(), UseNormalize(), UseSet()
property doNode as %Boolean;
Property methods: doNodeDisplayToLogical(), doNodeGet(), doNodeIsValid(), doNodeLogicalToDisplay(), doNodeNormalize(), doNodeSet()
property doVerbose as %Boolean;
Property methods: doVerboseDisplayToLogical(), doVerboseGet(), doVerboseIsValid(), doVerboseLogicalToDisplay(), doVerboseNormalize(), doVerboseSet()
property doXType as %Boolean;
Property methods: doXTypeDisplayToLogical(), doXTypeGet(), doXTypeIsValid(), doXTypeLogicalToDisplay(), doXTypeNormalize(), doXTypeSet()
property elno as %String;
Property methods: elnoDisplayToLogical(), elnoGet(), elnoIsValid(), elnoLogicalToDisplay(), elnoLogicalToOdbc(), elnoNormalize(), elnoSet()
property n0 as %String;
Property methods: n0DisplayToLogical(), n0Get(), n0IsValid(), n0LogicalToDisplay(), n0LogicalToOdbc(), n0Normalize(), n0Set()
property x0 as %String;
Property methods: x0DisplayToLogical(), x0Get(), x0IsValid(), x0LogicalToDisplay(), x0LogicalToOdbc(), x0Normalize(), x0Set()

Methods

method %OnNew(catnode) as %Status [ Language = objectscript ]
Inherited description: This callback method is invoked by the %New() method to provide notification that a new instance of an object is being created.

If this method returns an error then the object will not be created.

It is passed the arguments provided in the %New call. When customizing this method, override the arguments with whatever variables and types you expect to receive from %New(). For example, if you're going to call %New, passing 2 arguments, %OnNew's signature could be:

Method %OnNew(dob as %Date = "", name as %Name = "") as %Status If instead of returning a %Status code this returns an oref and this oref is a subclass of the current class then this oref will be the one returned to the caller of %New method.

classmethod DocStructuresClose(ByRef qHandle As %Binary) as %Status [ Language = objectscript ]
classmethod DocStructuresExecute(ByRef qHandle As %Binary, Category As %String = "", IncludeBase As %Boolean = 0) as %Status [ Language = objectscript ]
classmethod DocStructuresFetch(ByRef qHandle As %Binary, ByRef Row As %List, ByRef AtEnd As %Integer = 0) as %Status [ Language = objectscript ]
classmethod ElementExists(pElementSpec As %String = "") as %Boolean [ Language = objectscript ]
classmethod GetAlias(pContentArrayName As %String, pArrayPos As %String) as %String [ Language = objectscript ]
This method computes the Alias string for a property name, given the property's node in the Content Array.
classmethod GetContentArray(Output pContents, pMode As %String = "source", pType As %String = "", pLevel As %Integer = "", pIncludeBase As %Boolean = 0, pElem As %String = "DS", pNodeAddr="-1") as %Status [ Language = objectscript ]
Get all properties for a given document structure
classmethod GetDescription(pElementSpec As %String, pItem As %Integer = "") as %String [ Language = objectscript ]
Get the description of an item or an indexed piece of an item
classmethod ResolveSchemaTypeToDocType(pSchemaCategory As %String, pTypeName As %String, Output pStatus As %Status, pDoc As EnsLib.EDI.XML.Document = $$$NULLOREF) as %String [ Language = objectscript ]
Given a Schema category and a Document TypeName string, return the corresponding DocType (document structure)
classmethod TypeCategoriesClose(ByRef qHandle As %Binary) as %Status [ Language = objectscript ]
classmethod TypeCategoriesExecute(ByRef qHandle As %Binary, Standard As %String = "") as %Status [ Language = objectscript ]
classmethod TypeCategoriesFetch(ByRef qHandle As %Binary, ByRef Row As %List, ByRef AtEnd As %Integer = 0) as %Status [ Language = objectscript ]
method findTypeNode(pStructType, Output pStatus) as %Integer [ Language = objectscript ]
classmethod getTypeRef(pCategory, pStructType, Output pStatus=$$$OK) as %String [ Language = objectscript ]
Drill down until we find a type that has properties, return a schema refrerence to it
classmethod isXSDatatype(pKey As %Integer, pSchemaCategory As %String, pType As %String, pTypeNSIndex As %String) as %Boolean [ Language = objectscript ]
classmethod mergeArray(Output pContents, pMode As %String, pType, pElem, pNodeAddr, pMaxLevels As %Integer = 0) as %Status [ Language = objectscript ]

Queries

query DocStructures(Category As %String = "", IncludeBase As %Boolean = 0)
Selects DocStructure As %String, Description As %String
Returns a list of available DocTypes for the corresponding document class.
The DocType is returned as the first column in the result set.
The Category parameter can be used to restrict the list.
If Category is:
0 - return only DocTypes in standard categories
+ - return only DocTypes in user-defined categories
empty - return DocTypes from all categories
a category name - return only DocTypes in the named category
a partial name suffixed with '%' - return only DocTypes in categories matching the partial category name
other - return nothing
If IncludeBase is:
0 - return only DocTypes defined in the current schema category itself
1 - return all DocTypes in the current schema category's base category in addition to those defined in the current category itself
query TypeCategories(Standard As %String = "")
Selects Category As %String, Description As %String, IsStandard As %Boolean, Base As %String

Inherited Members

Inherited Methods

Feedback