Python-XSD-API

www.altova.com Dieses Kapitel drucken Eine Ebene nach oben

Startseite > 

Python-XSD-API

Das xsd-Modul bietet eine Python-Schnittstelle für die C++-Implementierung für die XML-Schema-Datenmodellebene. Über diese Python-Schnittstelle kann der Benutzer durch die XML-Schemadokumentstruktur und das Post Schema Validation Infoset (PSVI) navigieren und Informationen daraus aufrufen.

 

Verfügbare Typen

Es sehen die folgenden Typen zur Verfügung. Eine nähere Beschreibung dazu finden Sie in den Unterabschnitten dieses Abschnitts.

 

Klasse xsd.Annotation

Die Klasse Annotation repräsentiert menschen- und maschinenlesbare Annotationen von Schemakomponenten.

 

Klasse xsd.Any

Eine Any-Klasse dient zur Validierung von Informationseinheiten für Attribute und Elemente, abhängig vom Namespace-Namen und optional auch abhängig von ihren lokalen Namen.

 

Klasse xsd.AnyAttribute

Eine AnyAttribute-Klasse dient zur Validierung von Informationseinheiten für Attribute, abhängig vom Namespace-Namen und optional auch abhängig von ihren lokalen Namen.

 

Klasse xsd.Assertion

Die Klasse Assertion schränkt das Vorhandensein und die Werte miteinander in Zusammenhang stehender Elemente und Attribute ein.

 

Klasse xsd.AttributeDeclaration

Eine AttributeDeclaration Klasse dient zu folgenden Zwecken: (i) lokale Validierung der Werte von Informationseinheiten für Attribute anhand einer simpleType-Definition und (ii) Definieren von Standardwerten oder festgelegten Werten für Informationseinheiten für Attribute.

 

Klasse xsd.AttributeGroupDefinition

Eine AttributeGroupDefinition-Klasse wird nicht zur eigentlichen Validierung verwendet, erzeugt aber zur Gänze oder teilweise eine oder mehrere complexType-Definitionen. Attributgruppen werden nach ihrem name und target namespace identifiziert und müssen innerhalb eines XSD-Schemas eindeutig sein.

 

Klasse xsd.AttributePSVI

Die Klasse AttributePSVI enthält PSVI-Informationen zu einem Attribut.

 

Klasse xsd.AttributeUse

Die Klasse AttributeUse repräsentiert menschen- und maschinenlesbare Annotationen von Schemakomponenten.

 

Klasse xsd.Block

Die Klasse Block bildet Teil der Definition einer Elementdeklaration im Schema.

 

Klasse xsd.ComplexTypeDefinition

Eine ComplexTypeDefinition-Klasse definiert die Eigenschaften eines complexType mittels ihrer Instanzattribute.

 

Klasse xsd.ContentType

Eine ContentType-Klasse definiert den Inhaltstyp des Elements.

 

Klasse xsd.Defined

Die Klasse Defined repräsentiert ein Schlüsselwortmitglied der Wertegruppe, die für das disallowed_names Attribut von NamespaceConstraint zulässig ist.

 

Klasse xsd.DerivationMethod

Eine DerivationMethod-Klasse enthält Informationen über die Ableitungsmethode.

 

Klasse xsd.ENTITY

Die Klasse ENTITY repräsentiert den ENTITY-Attributtyp von XML.

 

Klasse xsd.ElementDeclaration

Die Klasse ElementDeclaration dient zu folgenden Zwecken: (i) lokale Validierung der Werte von Informationseinheiten für Elemente anhand einer Typdefinition; (ii) Definieren von Standardwerten oder festgelegten Werten für Informationseinheiten für Elemente; (iii) Definieren von Eindeutigkeit und von Beziehungen zur Referenzeinschränkung für die Werte miteinander in Zusammenhang stehender Elemente und Attribute; (iv) Festlegen der Ersetzbarkeit von Elemente über den Mechanismus von Elementersetzungsgruppen.

 

Klasse xsd.ElementPSVI

Wenn die Schemagültigkeit einer Informationseinheit für Elemente überprüft wurde, werden die PSVI-Eigenschaften in Instanzattributen der Klasse ElementPSVI zurückgegeben.

 

Klasse xsd.Final

Ein complexType mit einer leeren Definition für Final kann als Basistypdefinition für andere durch Erweiterung oder Einschränkung abgeleitete Typen verwendet werden; die expliziten Werte extension und restriction verhindern weitere Ableitungen durch Erweiterung bzw. Einschränkung. Wenn alle Werte definiert sind, gilt der complexType als final, da keine weiteren Ableitungen möglich sind.

 

Klasse xsd.ID

Die Klasse ID repräsentiert den ID-Attributtyp von XML.

 

Klasse xsd.IDREF

Die Klasse IDREF repräsentiert eine Sequenz von XML-ID-Attributtypen.

 

Klasse xsd.ID_IDREF_binding

Die Klasse ID_IDREF_binding repräsentiert ein Binding zwischen ID und IDREF.

 

Klasse xsd.ID_IDREF_table

Die Klasse ID_IDREF_table repräsentiert eine Gruppe von ID-IDREF mappings.

 

Klasse xsd.IdentityConstraintDefinition

Die Klasse IdentityConstraintDefinition dient zur Definition der Eindeutigkeit und enthält Referenzeinschränkungen hinsichtlich des Inhalts mehrerer Elemente und Attribute.

 

Klasse xsd.Instance

Die Klasse Instance repräsentiert das Instanzdokument.

 

Klasse xsd.ModelGroup

Die Klasse ModelGroup definiert eine sequenzielle (sequence), trennende (choice) oder verbindende  (all) Interpretation ihres Attributs.

 

Klasse xsd.ModelGroupDefinition

Eine Klasse ModelGroupDefinition wird durch ihren name und target namespace identifiziert. Elementgruppen (Model Groups) müssen innerhalb eines XSD-Schemas eindeutig sein. Elementgruppendefinitionen werden bei der Validierung nicht berücksichtigt, doch kann der term eines Particle zur Gänze oder zum Teil einer Elementgruppe ModelGroup aus einer ModelGroupDefinition entsprechen. Das Instanzattribut model_group ist die Elementgruppe ModelGroup, für die ModelGroupDefinition einen Namen liefert.

 

Klasse xsd.NCName

Die Klasse NCName repräsentiert einen NCName (non-colonized name).

 

Klasse xsd.NMTOKEN

Die Klasse NMTOKEN repräsentiert den NMTOKEN Attributtyp aus XML.

 

Klasse xsd.NOTATION

Die Klasse NOTATION repräsentiert den NOTATION-Attributtyp aus XML.

 

Klasse xsd.Name

Die Klasse Name repräsentiert einen XML-Namen.

 

Klasse xsd.NamespaceBinding

Die Klasse NamespaceBinding ermöglicht die Bindung eines namespace an ein prefix.

 

Klasse xsd.NamespaceConstraint

Die Klasse NamespaceConstraint dient zur Validierung von Informationseinheiten für Attribute und Elemente, die entsprechend dem angegebenen Constraint ausgewählt wurden.

 

Klasse xsd.NotationDeclaration

Eine Klasse NotationDeclaration definiert einen gültigen Element- oder Attributwert.  Notationsdeklaration werden bei der Validierung nicht berücksichtigt. Sie werden allerdings beim Validieren von Strings als Mitglieder des simpleType NOTATION referenziert. Eine Informationseinheit für Attribute oder Elemente, deren verwendete Typdefinition oder Validierungstyp vom simpleType NOTATION abgeleitet ist, ist nur dann gültig, wenn ihr Wert sich in den Enumerationen eines solchen  simpleType befindet. Folglich muss ein solcher Wert der name einer Notationsdeklaration sein.

 

Klasse xsd.OpenContent

Ein OpenContent Eigentschaftseintrag. Optional, wenn variety "element-only" oder "mixed" ist, andernfalls darf er nicht vorhanden sein.

 

Klasse xsd.PSVI

Die Klasse PSVI dient zur Prüfung der Schemagültigkeit von Elementen und Attributen.

 

Klasse xsd.Particle

Eine Particle-Klasse enthält die Komponenten. Diese Komponenten sind entweder direkt oder indirekt enthalten. Direkt enthalten ist die Komponente, die der Wert ihres term Attributs ist. Indirekt enthalten sind die Partikel, Gruppen, Wildcards und Elementdeklarationen, die im Wert ihrer term Eigenschaft enthalten sind.

 

Klasse xsd.QName

Die Klasse QName repräsentiert einen qualifizierten XML-Namen.

 

Klasse xsd.Schema

Die Klasse schema enthält eine Sammlung von Schemakomponenten, z.B. Typdefinitionen und Elementdeklarationen, die einen gemeinsamen Ziel-Namespace haben.

 

Klasse xsd.Scope

Die Klasse Scope repräsentiert einen Scope-Eigenschaftseintrag. Obligatorisch.

 

Klasse xsd.Sibling

Die Klasse Sibling repräsentiert ein Keyword Member der für das disallowed_names Attribut von NamespaceConstraint zulässigen Wertegruppe.

 

Klasse xsd.SimpleTypeDefinition

Die Klasse SimpleTypeDefinition repräsentiert durch ihr name- und target namespace-Attribut identifizierte simpleTypes.

 

Klasse xsd.TypeAlternative

Die Klasse TypeAlternative wird von einer ElementDeclaration zur Definition einer Bedingung (test) verwendet, unter der ein bestimmter Typ (type_definition) als geltende Typdefinition für Informationseinheiten für Elemente, für die diese ElementDeclaration gilt, verwendet wird. Jede   ElementDeclaration kann in ihrer Typtabelle (TypeTable) mehrere Typalternativen haben.

 

Klasse xsd.TypeTable

Die Typdefinition, anhand welcher eine Informationseinheit für Elemente validiert wird (die geltende Typdefinition) kann eine andere sein, als die deklarierte Typdefinition. Aufgrund der TypeTable-Eigenschaft einer ElementDeclaration, die die Zuweisung von Typen auf Basis von Bedingungen regelt, und aufgrund des xsi:type-Attributs einer Informationseinheit für Elemente können die geltende Typdefinition und die deklarierte Typdefinition unterschiedlich sein.

 

Klasse xsd.Unbounded

Die Klasse Unbounded ist ein String-Wert. Sie repräsentiert den oberen Wert der Eigenschaft maxOccurs.

 

Klasse xsd.ValueConstraint

Die Klasse ValueConstraint repräsentiert eine Eigenschaft der Klasse AttributeUse.

 

Klasse xsd.XPathExpression

Um eine Assertion zu überprüfen, wird eine Instanz des XPath 2.0-Datenmodells erzeugt, in der die überprüfte Informationseinheit für Elemente der Root Node (der oberste Node) ist und den Elementen und Attributen Typen und Werte gemäß den Regeln des XPath 2.0-Datenmodells zugewiesen werden. Bei Auswertung anhand dieser Datenmodelltestinstanz ergibt die Auswertung von test entweder True oder False.

 

Spezielle vordefinierte Datentypobjekte

anyAtomicType

anySimpleType

anyURI

 

Objekte vom Datentyp String

language

normalizedString

string

token

 

Objekte vom Datentyp Boolean

boolean

 

Objekte vom Datentyp Number

byte

decimal

double

float

int

integer

long

negativeInteger

nonNegativeInteger

nonPositiveInteger

positiveInteger

short

unsignedByte

unsignedInt

unsignedLong

unsignedShort

 

Objekte vom Datentyp Duration

dayTimeDuration

duration

yearMonthDuration

 

Objekte vom Datentyp Time und Number

date

dateTime

dateTimeStamp

gDay

gMonth

gYear

gYearMonth

time

 

Objekte vom Datentyp Binary

base64Binary

hexBinary

 

Facet-Objekte

assertionsFacet

enumerationFacet

fractionDigitsFacet

lengthFacet

maxExclusiveFacet

maxInclusiveFacet

maxLengthFacet

minExclusiveFacet

minInclusiveFacet

minLengthFacet

pattern

totalDigitsFacet

 


© 2019 Altova GmbH