The document http://www.loc.gov/standards/mets/mets.xsd has been classified as being possibly an Advanced XML Schema Patterns for Databinding 1.0 conformant document as it only exhibits the following patterns:
Status | Nodes | Name | XPath |
---|---|---|---|
basic | TargetNamespace | .[@targetNamespace]/ (., @targetNamespace) | |
basic | QualifiedLocalElements | .[@elementFormDefault = 'qualified']/ (@elementFormDefault) | |
basic | UnqualifiedLocalAttributes | .[not(@attributeFormDefault) or @attributeFormDefault = 'unqualified']/ (., @attributeFormDefault) | |
basic | DocumentationElement | .//xs:annotation/xs:documentation/ (.., ., .//*, .//@*) | |
basic | IdentifierName | .//.[matches(@name, "^[A-Za-z_]([A-Za-z0-9_]0 31)$")]/ (@name) | |
basic | ImportSchema | ./xs:import[@namespace and @schemaLocation]/ (., @namespace, @schemaLocation) | |
advanced | ElementTypeDefaultNamespace | .//xs:element[@name and @type and not(contains(@type, ':'))]/ (@name, @type) | |
basic | ElementMinOccurs0 | .//xs:element[@minOccurs = '0' and (not(@maxOccurs) or @maxOccurs = '1')]/ (@minOccurs, @maxOccurs) | |
basic | ElementMinOccurs0MaxOccursUnbounded | .//xs:element[@minOccurs = '0' and @maxOccurs = 'unbounded']/ (@minOccurs, @maxOccurs) | |
basic | ElementMinOccurs1MaxOccursUnbounded | .//xs:element[(not(@minOccurs) or @minOccurs = '1') and @maxOccurs = 'unbounded']/ (@minOccurs, @maxOccurs) | |
basic | AttributeOptional | .//xs:attribute[@use = 'optional']/ (@use) | |
advanced | AttributeRequired | .//xs:attribute[@use = 'required']/ (@use) | |
basic | GlobalSimpleType | ./xs:simpleType[@name]/ (., @name) | |
basic | GlobalComplexType | ./xs:complexType[@name]/ (., @name) | |
basic | StringEnumerationType | .//xs:simpleType/xs:restriction[@base/resolve-QName(.,..) = xs:QName('xs:string') and xs:enumeration]/ (., @base, xs:enumeration/(., @value)) | |
advanced | ComplexTypeAll | .//xs:complexType/xs:all/ (., xs:element/(., @name)) | |
advanced | ComplexTypeChoice | .//xs:complexType/xs:choice/ (., xs:element/(., @name)) | |
basic | ComplexTypeAttribute | .//xs:complexType/xs:attribute[@name]/ (., @name) | |
advanced | ComplexTypeOnlyAttributes | .//xs:complexType/xs:attribute[../not(xs:choice or xs:sequence or xs:all or xs:anyAttribute or xs:group or xs:attributeGroup or xs:simpleContent or xs:complexContent)]/ (., ..,@use) | |
advanced | ComplexTypeOnlyAttributeGroup | .//xs:complexType/xs:attributeGroup[../not(xs:choice or xs:sequence or xs:all or xs:anyAttribute or xs:group or xs:simpleContent or xs:complexContent)]/(., ..,@ref) | |
basic | ComplexTypeSequence | .//xs:complexType/xs:sequence/ (., xs:element/(., @name)) | |
advanced | ExtendedSequenceLaxAny | .//xs:sequence/xs:any[@processContents = 'lax' and (not (@minOccurs) or @minOccurs = '1' or @minOccurs = '0') and (not (@maxOccurs) or @maxOccurs = '1' or @maxOccurs='unbounded') and (not(@namespace) or @namespace = '##any')]/ (., @processContents, @minOccurs, @maxOccurs, @namespace) | |
advanced | ExtendedSimpleContent | .//xs:complexType/xs:simpleContent/xs:extension[@base]/ (.., ., ./@base, xs:attribute/ (., @name)) | |
advanced | ChoiceElement | .//xs:choice/xs:element/(.) | |
basic | SequenceElement | .//xs:sequence/xs:element/(.) | |
advanced | AllElement | .//xs:all/xs:element/(.) | |
basic | SequenceSingleRepeatedElement | .//xs:sequence[count(xs:element) = 1]/xs:element[@maxOccurs = 'unbounded']/ (., @maxOccurs) | |
advanced | ElementTypeReferenceUnqualified | .//xs:element[@name and @type and namespace-uri-from-QName(resolve-QName(@type,.)) != 'http://www.w3.org/2001/XMLSchema' and not(contains(@type, ':'))]/ (., @name, @type) | |
basic | AttributeReference | .//xs:attribute[@ref and contains(@ref, ":")]/ (., @ref) | |
advanced | AttributeTypeReferenceUnqualified | .//xs:attribute[@name and @type and namespace-uri-from-QName(resolve-QName(@type,.)) != 'http://www.w3.org/2001/XMLSchema' and not(contains(@type, ':'))]/ (., @name, @type) | |
advanced | List | .//xs:list[@itemType]/ (., @itemType) | |
basic | StringElement | .//xs:element/@type[resolve-QName(.,..) = xs:QName('xs:string')] | |
basic | StringAttribute | .//xs:attribute/@type[resolve-QName(.,..) = xs:QName('xs:string')] | |
basic | DateTimeAttribute | .//xs:attribute/@type[resolve-QName(.,..) = xs:QName('xs:dateTime')] | |
basic | Base64BinaryElement | .//xs:element/@type[resolve-QName(.,..) = xs:QName('xs:base64Binary')] | |
advanced | IDAttribute | .//xs:attribute/@type[resolve-QName(.,..) = xs:QName('xs:ID')] | |
advanced | IDREFAttribute | .//xs:attribute/@type[resolve-QName(.,..) = xs:QName('xs:IDREF')] | |
advanced | IDREFSAttribute | .//xs:attribute/@type[resolve-QName(.,..) = xs:QName('xs:IDREFS')] | |
advanced | IntegerAttribute | .//xs:attribute/@type[resolve-QName(.,..) = xs:QName('xs:integer')] | |
basic | LongAttribute | .//xs:attribute/@type[resolve-QName(.,..) = xs:QName('xs:long')] | |
basic | IntAttribute | .//xs:attribute/@type[resolve-QName(.,..) = xs:QName('xs:int')] | |
basic | PositiveIntegerAttribute | .//xs:attribute/@type[resolve-QName(.,..) = xs:QName('xs:positiveInteger')] | |
advanced | GlobalElementComplexTypeEmptyExtension | ./xs:element[@name]/xs:complexType/xs:complexContent[xs:extension[@base]/not(*)]/ (../../(., @name), .., ., xs:extension/(., @base)) | |
basic | LocalElementComplexType | .//xs:element[not(parent::xs:schema)]/xs:complexType | |
advanced | LocalAttributeSimpleType | .//xs:attribute[not(parent::xs:schema)]/xs:simpleType | |
advanced | AttributeGroup | .//xs:attributeGroup/(.,@name,@ref,xs:attribute) | |
advanced | GlobalElementComplexType | .//xs:element[parent::xs:schema]/xs:complexType / (.,..) | |
advanced | ComplexTypeAttributeRestriction | .//xs:complexType/xs:complexContent[xs:restriction[@base]/xs:attribute]/ (., xs:restriction/(., @base, xs:attribute/(., @name))) | |
advanced | LocalElementComplexTypeEmptyExtension | .//xs:element[not(parent::xs:schema)]/xs:complexType[not(@name)]/xs:complexContent[xs:extension[@base]/not(*)]/ (../../(., @name), .., ., xs:extension/(., @base)) | |
advanced | ComplexTypeExtension | .//xs:complexType/xs:complexContent/xs:extension[@base]/(., @base, ../(.)) |
This document was produced by the W3C XML Schema Patterns for Databinding Working Group. Comments on this document may be sent to the public public-xsd-databinding-comments@w3.org mailing list (public archive).
Copyright © 2006 W3C ® ( MIT , ERCIM ,Keio), All Rights Reserved. W3C liability, trademark, document use and software licensing rules apply. Your interactions with this site are in accordance with our public andMember privacy statements.