Abstract enum value | XsdSchemaToken | protected |
addAnonymousType(const SchemaType::Ptr &type) | QPatternist::XsdSchemaParser | private |
addAttribute(const XsdAttribute::Ptr &attribute) | QPatternist::XsdSchemaParser | private |
addAttributeGroup(const XsdAttributeGroup::Ptr &group) | QPatternist::XsdSchemaParser | private |
addData(const QByteArray &data) | QXmlStreamReader | |
addData(const QString &data) | QXmlStreamReader | |
addData(const char *data) | QXmlStreamReader | |
addElement(const XsdElement::Ptr &element) | QPatternist::XsdSchemaParser | private |
addElementGroup(const XsdModelGroup::Ptr &group) | QPatternist::XsdSchemaParser | private |
addExtraNamespaceDeclaration(const QXmlStreamNamespaceDeclaration &extraNamespaceDeclaraction) | QXmlStreamReader | |
addExtraNamespaceDeclarations(const QXmlStreamNamespaceDeclarations &extraNamespaceDeclaractions) | QXmlStreamReader | |
addFacet(const XsdFacet::Ptr &facet, XsdFacet::Hash &facets, const SchemaType::Ptr &type) | QPatternist::XsdSchemaParser | private |
addIdentityConstraint(const XsdIdentityConstraint::Ptr &constraint) | QPatternist::XsdSchemaParser | private |
addImportedSchemas(const NamespaceSet &schemas) | QPatternist::XsdSchemaParser | |
addIncludedSchemas(const NamespaceSet &schemas) | QPatternist::XsdSchemaParser | |
addNotation(const XsdNotation::Ptr ¬ation) | QPatternist::XsdSchemaParser | private |
addRedefinedSchemas(const NamespaceSet &schemas) | QPatternist::XsdSchemaParser | |
addType(const SchemaType::Ptr &type) | QPatternist::XsdSchemaParser | private |
All enum value | XsdSchemaToken | protected |
Alternative enum value | XsdSchemaToken | protected |
Annotation enum value | XsdSchemaToken | protected |
Any enum value | XsdSchemaToken | protected |
AnyAttribute enum value | XsdSchemaToken | protected |
Appinfo enum value | XsdSchemaToken | protected |
AppliesToEmpty enum value | XsdSchemaToken | protected |
Assert enum value | XsdSchemaToken | protected |
Assertion enum value | XsdSchemaToken | protected |
atEnd() const | QXmlStreamReader | |
Attribute enum value | XsdSchemaToken | protected |
attributeContentError(const char *attributeName, const char *elementName, const QString &value, const SchemaType::Ptr &type=SchemaType::Ptr()) | QPatternist::XsdSchemaParser | private |
AttributeFormDefault enum value | XsdSchemaToken | protected |
AttributeGroup enum value | XsdSchemaToken | protected |
attributes() const | QXmlStreamReader | |
Base enum value | XsdSchemaToken | protected |
Block enum value | XsdSchemaToken | protected |
BlockDefault enum value | XsdSchemaToken | protected |
characterOffset() const | QXmlStreamReader | |
Characters enum value | QXmlStreamReader | |
Choice enum value | XsdSchemaToken | protected |
clear() | QXmlStreamReader | |
Collapse enum value | XsdSchemaToken | protected |
columnNumber() const | QXmlStreamReader | |
Comment enum value | QXmlStreamReader | |
ComplexContent enum value | XsdSchemaToken | protected |
ComplexType enum value | XsdSchemaToken | protected |
convertName(const QString &qualified, NamespaceSupport::NameType type, QXmlName &name) | QPatternist::XsdSchemaParser | private |
currentElementName() const | QPatternist::MaintainingReader< XsdSchemaToken, XsdTagScope::Type > | inlineprotected |
currentSourceLocation() const | QPatternist::XsdSchemaParser | private |
CustomError enum value | QXmlStreamReader | |
Default enum value | XsdSchemaToken | protected |
DefaultAttributes enum value | XsdSchemaToken | protected |
DefaultAttributesApply enum value | XsdSchemaToken | protected |
DefaultOpenContent enum value | XsdSchemaToken | protected |
device() const | QXmlStreamReader | |
Documentation enum value | XsdSchemaToken | protected |
documentEncoding() const | QXmlStreamReader | |
documentURI() const | QPatternist::XsdSchemaParser | virtual |
documentVersion() const | QXmlStreamReader | |
DTD enum value | QXmlStreamReader | |
dtdName() const | QXmlStreamReader | |
dtdPublicId() const | QXmlStreamReader | |
dtdSystemId() const | QXmlStreamReader | |
Element enum value | XsdSchemaToken | protected |
ElementFormDefault enum value | XsdSchemaToken | protected |
ElementNamespaceHandler class | QPatternist::XsdSchemaParser | friend |
EndDocument enum value | QXmlStreamReader | |
EndElement enum value | QXmlStreamReader | |
entityDeclarations() const | QXmlStreamReader | |
EntityReference enum value | QXmlStreamReader | |
entityResolver() const | QXmlStreamReader | |
Enumeration enum value | XsdSchemaToken | protected |
Error enum name | QXmlStreamReader | |
error(const QString &msg) | QPatternist::XsdSchemaParser | privatevirtual |
MaintainingReader< XsdSchemaToken, XsdTagScope::Type >::error(const QString &message, const ReportContext::ErrorCode code) const | QPatternist::MaintainingReader< XsdSchemaToken, XsdTagScope::Type > | protected |
QXmlStreamReader::error() const | QXmlStreamReader | |
ErrorOnUnexpectedElement enum value | QXmlStreamReader | |
errorString() const | QXmlStreamReader | |
Extension enum value | XsdSchemaToken | protected |
Field enum value | XsdSchemaToken | protected |
Final enum value | XsdSchemaToken | protected |
FinalDefault enum value | XsdSchemaToken | protected |
Fixed enum value | XsdSchemaToken | protected |
Form enum value | XsdSchemaToken | protected |
FractionDigits enum value | XsdSchemaToken | protected |
Group enum value | XsdSchemaToken | protected |
hasAttribute(const QString &namespaceURI, const QString &localName) const | QPatternist::MaintainingReader< XsdSchemaToken, XsdTagScope::Type > | protected |
hasAttribute(const QString &localName) const | QPatternist::MaintainingReader< XsdSchemaToken, XsdTagScope::Type > | inlineprotected |
hasError() const | QXmlStreamReader | inline |
Id enum value | XsdSchemaToken | protected |
Import enum value | XsdSchemaToken | protected |
ImportParser enum value | QPatternist::XsdSchemaParser | |
Include enum value | XsdSchemaToken | protected |
IncludeChildElements enum value | QXmlStreamReader | |
IncludeParser enum value | QPatternist::XsdSchemaParser | |
Invalid enum value | QXmlStreamReader | |
isAnyAttributeAllowed() const | QPatternist::XsdSchemaParser | virtual |
isCDATA() const | QXmlStreamReader | |
isCharacters() const | QXmlStreamReader | inline |
isComment() const | QXmlStreamReader | inline |
isDTD() const | QXmlStreamReader | inline |
isEndDocument() const | QXmlStreamReader | inline |
isEndElement() const | QXmlStreamReader | inline |
isEntityReference() const | QXmlStreamReader | inline |
isProcessingInstruction() const | QXmlStreamReader | inline |
isSchemaTag(XsdSchemaToken::NodeName tag, XsdSchemaToken::NodeName token, XsdSchemaToken::NodeName namespaceToken) const | QPatternist::XsdSchemaParser | inlineprivate |
isStandaloneDocument() const | QXmlStreamReader | |
isStartDocument() const | QXmlStreamReader | inline |
isStartElement() const | QXmlStreamReader | inline |
isWhitespace() const | QPatternist::MaintainingReader< XsdSchemaToken, XsdTagScope::Type > | protected |
ItemType enum value | XsdSchemaToken | protected |
Key enum value | XsdSchemaToken | protected |
Keyref enum value | XsdSchemaToken | protected |
Length enum value | XsdSchemaToken | protected |
lineNumber() const | QXmlStreamReader | |
List enum value | XsdSchemaToken | protected |
m_attributeFormDefault | QPatternist::XsdSchemaParser | private |
m_blockDefault | QPatternist::XsdSchemaParser | private |
m_builtinTypeNames | QPatternist::XsdSchemaParser | private |
m_componentLocationHash | QPatternist::XsdSchemaParser | private |
m_context | QPatternist::XsdSchemaParser | private |
m_currentAttributes | QPatternist::MaintainingReader< XsdSchemaToken, XsdTagScope::Type > | protected |
m_defaultAttributes | QPatternist::XsdSchemaParser | private |
m_defaultOpenContent | QPatternist::XsdSchemaParser | private |
m_defaultOpenContentAppliesToEmpty | QPatternist::XsdSchemaParser | private |
m_documentURI | QPatternist::XsdSchemaParser | private |
m_elementFormDefault | QPatternist::XsdSchemaParser | private |
m_finalDefault | QPatternist::XsdSchemaParser | private |
m_hasHandledStandardAttributes | QPatternist::MaintainingReader< XsdSchemaToken, XsdTagScope::Type > | protected |
m_idCache | QPatternist::XsdSchemaParser | private |
m_importedSchemas | QPatternist::XsdSchemaParser | private |
m_includedSchemas | QPatternist::XsdSchemaParser | private |
m_namePool | QPatternist::XsdSchemaParser | private |
m_namespaceSupport | QPatternist::XsdSchemaParser | private |
m_parserContext | QPatternist::XsdSchemaParser | private |
m_redefinedSchemas | QPatternist::XsdSchemaParser | private |
m_schema | QPatternist::XsdSchemaParser | private |
m_schemaResolver | QPatternist::XsdSchemaParser | private |
m_stateMachines | QPatternist::XsdSchemaParser | private |
m_stripWhitespace | QPatternist::MaintainingReader< XsdSchemaToken, XsdTagScope::Type > | protected |
m_targetNamespace | QPatternist::XsdSchemaParser | private |
m_xpathDefaultNamespace | QPatternist::XsdSchemaParser | private |
MaintainingReader(const typename ElementDescription< XsdSchemaToken, XsdTagScope::Type >::Hash &elementDescriptions, const QSet< typename XsdSchemaToken ::NodeName > &standardAttributes, const ReportContext::Ptr &context, QIODevice *const queryDevice) | QPatternist::MaintainingReader< XsdSchemaToken, XsdTagScope::Type > | protected |
MaxExclusive enum value | XsdSchemaToken | protected |
MaxInclusive enum value | XsdSchemaToken | protected |
MaxLength enum value | XsdSchemaToken | protected |
MaxOccurs enum value | XsdSchemaToken | protected |
MemberTypes enum value | XsdSchemaToken | protected |
MinExclusive enum value | XsdSchemaToken | protected |
MinInclusive enum value | XsdSchemaToken | protected |
MinLength enum value | XsdSchemaToken | protected |
MinOccurs enum value | XsdSchemaToken | protected |
Mixed enum value | XsdSchemaToken | protected |
Mode enum value | XsdSchemaToken | protected |
name() const | QXmlStreamReader | |
Name enum value | XsdSchemaToken | protected |
Namespace enum value | XsdSchemaToken | protected |
namespaceDeclarations() const | QXmlStreamReader | |
namespaceProcessing() const | QXmlStreamReader | |
NamespaceSet typedef | QPatternist::XsdSchemaParser | |
namespaceUri() const | QXmlStreamReader | |
Nillable enum value | XsdSchemaToken | protected |
NodeName enum name | XsdSchemaToken | protected |
NoError enum value | QXmlStreamReader | |
NoKeyword enum value | XsdSchemaToken | protected |
Notation enum value | XsdSchemaToken | protected |
notationDeclarations() const | QXmlStreamReader | |
NotNamespace enum value | XsdSchemaToken | protected |
NoToken enum value | QXmlStreamReader | |
NotQName enum value | XsdSchemaToken | protected |
NotWellFormedError enum value | QXmlStreamReader | |
OpenContent enum value | XsdSchemaToken | protected |
Override enum value | XsdSchemaToken | protected |
parse(ParserType parserType=TopLevelParser) | QPatternist::XsdSchemaParser | |
parseAll(const NamedSchemaComponent::Ptr &parent) | QPatternist::XsdSchemaParser | private |
parseAlternative() | QPatternist::XsdSchemaParser | private |
parseAnnotation() | QPatternist::XsdSchemaParser | private |
parseAny(const XsdParticle::Ptr &particle) | QPatternist::XsdSchemaParser | private |
parseAnyAttribute() | QPatternist::XsdSchemaParser | private |
parseAppInfo() | QPatternist::XsdSchemaParser | private |
parseAssertion(const XsdSchemaToken::NodeName &nodeName, const XsdTagScope::Type &tag) | QPatternist::XsdSchemaParser | private |
parseAssertionFacet() | QPatternist::XsdSchemaParser | private |
parseChoice(const NamedSchemaComponent::Ptr &parent) | QPatternist::XsdSchemaParser | private |
parseComplexContent(const XsdComplexType::Ptr &complexType, bool *mixed) | QPatternist::XsdSchemaParser | private |
parseComplexContentExtension(const XsdComplexType::Ptr &complexType) | QPatternist::XsdSchemaParser | private |
parseComplexContentRestriction(const XsdComplexType::Ptr &complexType) | QPatternist::XsdSchemaParser | private |
parseDefaultOpenContent() | QPatternist::XsdSchemaParser | private |
parseDocumentation() | QPatternist::XsdSchemaParser | private |
parseEnumerationFacet() | QPatternist::XsdSchemaParser | private |
parseField(const XsdIdentityConstraint::Ptr &ptr) | QPatternist::XsdSchemaParser | private |
parseFractionDigitsFacet() | QPatternist::XsdSchemaParser | private |
parseGlobalAttribute() | QPatternist::XsdSchemaParser | private |
parseGlobalComplexType() | QPatternist::XsdSchemaParser | private |
parseGlobalElement() | QPatternist::XsdSchemaParser | private |
parseGlobalSimpleType() | QPatternist::XsdSchemaParser | private |
parseImport() | QPatternist::XsdSchemaParser | private |
parseInclude() | QPatternist::XsdSchemaParser | private |
parseKey() | QPatternist::XsdSchemaParser | private |
parseKeyRef(const XsdElement::Ptr &element) | QPatternist::XsdSchemaParser | private |
parseLengthFacet() | QPatternist::XsdSchemaParser | private |
parseList(const XsdSimpleType::Ptr &ptr) | QPatternist::XsdSchemaParser | private |
parseLocalAll(const XsdParticle::Ptr &particle, const NamedSchemaComponent::Ptr &parent) | QPatternist::XsdSchemaParser | private |
parseLocalAttribute(const NamedSchemaComponent::Ptr &parent) | QPatternist::XsdSchemaParser | private |
parseLocalChoice(const XsdParticle::Ptr &particle, const NamedSchemaComponent::Ptr &parent) | QPatternist::XsdSchemaParser | private |
parseLocalComplexType() | QPatternist::XsdSchemaParser | private |
parseLocalElement(const XsdParticle::Ptr &particle, const NamedSchemaComponent::Ptr &parent) | QPatternist::XsdSchemaParser | private |
parseLocalSequence(const XsdParticle::Ptr &particle, const NamedSchemaComponent::Ptr &parent) | QPatternist::XsdSchemaParser | private |
parseLocalSimpleType() | QPatternist::XsdSchemaParser | private |
parseMaxExclusiveFacet() | QPatternist::XsdSchemaParser | private |
parseMaxInclusiveFacet() | QPatternist::XsdSchemaParser | private |
parseMaxLengthFacet() | QPatternist::XsdSchemaParser | private |
parseMinExclusiveFacet() | QPatternist::XsdSchemaParser | private |
parseMinInclusiveFacet() | QPatternist::XsdSchemaParser | private |
parseMinLengthFacet() | QPatternist::XsdSchemaParser | private |
parseMinMaxConstraint(const XsdParticle::Ptr &particle, const char *tagName) | QPatternist::XsdSchemaParser | private |
parseNamedAttributeGroup() | QPatternist::XsdSchemaParser | private |
parseNamedGroup() | QPatternist::XsdSchemaParser | private |
parseNotation() | QPatternist::XsdSchemaParser | private |
parseOpenContent() | QPatternist::XsdSchemaParser | private |
parsePatternFacet() | QPatternist::XsdSchemaParser | private |
parseRedefine() | QPatternist::XsdSchemaParser | private |
parseReferredAttributeGroup() | QPatternist::XsdSchemaParser | private |
parseReferredGroup(const XsdParticle::Ptr &particle) | QPatternist::XsdSchemaParser | private |
ParserType enum name | QPatternist::XsdSchemaParser | |
parseSchema(ParserType parserType) | QPatternist::XsdSchemaParser | private |
parseSelector(const XsdIdentityConstraint::Ptr &ptr) | QPatternist::XsdSchemaParser | private |
parseSequence(const NamedSchemaComponent::Ptr &parent) | QPatternist::XsdSchemaParser | private |
parseSimpleContent(const XsdComplexType::Ptr &complexType) | QPatternist::XsdSchemaParser | private |
parseSimpleContentExtension(const XsdComplexType::Ptr &complexType) | QPatternist::XsdSchemaParser | private |
parseSimpleContentRestriction(const XsdComplexType::Ptr &complexType) | QPatternist::XsdSchemaParser | private |
parseSimpleRestriction(const XsdSimpleType::Ptr &ptr) | QPatternist::XsdSchemaParser | private |
parseTotalDigitsFacet() | QPatternist::XsdSchemaParser | private |
parseUnion(const XsdSimpleType::Ptr &ptr) | QPatternist::XsdSchemaParser | private |
parseUnique() | QPatternist::XsdSchemaParser | private |
parseUnknown() | QPatternist::XsdSchemaParser | private |
parseUnknownDocumentation() | QPatternist::XsdSchemaParser | private |
parseWhiteSpaceFacet() | QPatternist::XsdSchemaParser | private |
Pattern enum value | XsdSchemaToken | protected |
prefix() const | QXmlStreamReader | |
PrematureEndOfDocumentError enum value | QXmlStreamReader | |
Preserve enum value | XsdSchemaToken | protected |
ProcessContents enum value | XsdSchemaToken | protected |
ProcessingInstruction enum value | QXmlStreamReader | |
processingInstructionData() const | QXmlStreamReader | |
processingInstructionTarget() const | QXmlStreamReader | |
Public enum value | XsdSchemaToken | protected |
qualifiedName() const | QXmlStreamReader | |
QXmlStreamReader() | QXmlStreamReader | |
QXmlStreamReader(QIODevice *device) | QXmlStreamReader | |
QXmlStreamReader(const QByteArray &data) | QXmlStreamReader | |
QXmlStreamReader(const QString &data) | QXmlStreamReader | |
QXmlStreamReader(const char *data) | QXmlStreamReader | |
raiseError(const QString &message=QString()) | QXmlStreamReader | |
readAttribute(const QString &localName, const QString &namespaceURI=QString()) const | QPatternist::MaintainingReader< XsdSchemaToken, XsdTagScope::Type > | protected |
readBlockingConstraintAttribute(const NamedSchemaComponent::BlockingConstraints &allowedConstraints, const char *elementName) | QPatternist::XsdSchemaParser | inlineprivate |
readDerivationConstraintAttribute(const SchemaType::DerivationConstraints &allowedConstraints, const char *elementName) | QPatternist::XsdSchemaParser | inlineprivate |
readElementText(ReadElementTextBehaviour behaviour) | QXmlStreamReader | |
readElementText() | QXmlStreamReader | |
ReadElementTextBehaviour enum name | QXmlStreamReader | |
readNameAttribute(const char *elementName) | QPatternist::XsdSchemaParser | inlineprivate |
readNamespaceAttribute(const QString &attributeName, const char *elementName) | QPatternist::XsdSchemaParser | inlineprivate |
readNext() | QPatternist::MaintainingReader< XsdSchemaToken, XsdTagScope::Type > | protected |
readNextStartElement() | QXmlStreamReader | |
readQNameAttribute(const QString &typeAttribute, const char *elementName) | QPatternist::XsdSchemaParser | inlineprivate |
readXPathAttribute(const QString &attributeName, XPathType type, const char *elementName) | QPatternist::XsdSchemaParser | private |
readXPathExpression(const char *elementName) | QPatternist::XsdSchemaParser | private |
Redefine enum value | XsdSchemaToken | protected |
RedefineParser enum value | QPatternist::XsdSchemaParser | |
Ref enum value | XsdSchemaToken | protected |
Refer enum value | XsdSchemaToken | protected |
Replace enum value | XsdSchemaToken | protected |
resolveComplexContentType(const XsdComplexType::Ptr &complexType, bool effectiveMixed) | QPatternist::XsdSchemaParser | private |
Restriction enum value | XsdSchemaToken | protected |
Schema enum value | XsdSchemaToken | protected |
SchemaLocation enum value | XsdSchemaToken | protected |
Selector enum value | XsdSchemaToken | protected |
Sequence enum value | XsdSchemaToken | protected |
setDevice(QIODevice *device) | QXmlStreamReader | |
setDocumentURI(const QUrl &uri) | QPatternist::XsdSchemaParser | |
setEntityResolver(QXmlStreamEntityResolver *resolver) | QXmlStreamReader | |
setImportedSchemas(const NamespaceSet &schemas) | QPatternist::XsdSchemaParser | |
setIncludedSchemas(const NamespaceSet &schemas) | QPatternist::XsdSchemaParser | |
setNamespaceProcessing(bool) | QXmlStreamReader | |
setRedefinedSchemas(const NamespaceSet &schemas) | QPatternist::XsdSchemaParser | |
setTargetNamespace(const QString &targetNamespace) | QPatternist::XsdSchemaParser | |
setTargetNamespaceExtended(const QString &targetNamespace) | QPatternist::XsdSchemaParser | private |
setupBuiltinTypeNames() | QPatternist::XsdSchemaParser | private |
setupStateMachines() | QPatternist::XsdSchemaParser | private |
SimpleContent enum value | XsdSchemaToken | protected |
SimpleType enum value | XsdSchemaToken | protected |
SkipChildElements enum value | QXmlStreamReader | |
skipCurrentElement() | QXmlStreamReader | |
Source enum value | XsdSchemaToken | protected |
StartDocument enum value | QXmlStreamReader | |
StartElement enum value | QXmlStreamReader | |
SubstitutionGroup enum value | XsdSchemaToken | protected |
System enum value | XsdSchemaToken | protected |
TagValidationHandler class | QPatternist::XsdSchemaParser | friend |
TargetNamespace enum value | XsdSchemaToken | protected |
Test enum value | XsdSchemaToken | protected |
text() const | QXmlStreamReader | |
tokenString() const | QXmlStreamReader | |
tokenType() const | QXmlStreamReader | |
TokenType enum name | QXmlStreamReader | |
TopLevelParser enum value | QPatternist::XsdSchemaParser | |
toString(NodeName token) | XsdSchemaToken | protectedstatic |
TotalDigits enum value | XsdSchemaToken | protected |
toToken(const QString &value) | XsdSchemaToken | inlineprotectedstatic |
toToken(const QStringRef &value) | XsdSchemaToken | inlineprotectedstatic |
toToken(const QChar *data, int length) | XsdSchemaToken | protectedstatic |
Type enum value | XsdSchemaToken | protected |
UnexpectedElementError enum value | QXmlStreamReader | |
Union enum value | XsdSchemaToken | protected |
Unique enum value | XsdSchemaToken | protected |
Use enum value | XsdSchemaToken | protected |
validateElement(const XsdTagScope::Type name) const | QPatternist::MaintainingReader< XsdSchemaToken, XsdTagScope::Type > | protected |
validateIdAttribute(const char *elementName) | QPatternist::XsdSchemaParser | inlineprivate |
Value enum value | XsdSchemaToken | protected |
Version enum value | XsdSchemaToken | protected |
warning(const QString &message) const | QPatternist::MaintainingReader< XsdSchemaToken, XsdTagScope::Type > | protected |
WhiteSpace enum value | XsdSchemaToken | protected |
XML_NS_SCHEMA_URI enum value | XsdSchemaToken | protected |
XmlLanguage enum value | XsdSchemaToken | protected |
Xpath enum value | XsdSchemaToken | protected |
XPath20 enum value | QPatternist::XsdSchemaParser | private |
XPathDefaultNamespace enum value | XsdSchemaToken | protected |
XPathField enum value | QPatternist::XsdSchemaParser | private |
XPathSelector enum value | QPatternist::XsdSchemaParser | private |
XPathType enum name | QPatternist::XsdSchemaParser | private |
XsdSchemaParser(const XsdSchemaContext::Ptr &context, const XsdSchemaParserContext::Ptr &parserContext, QIODevice *device) | QPatternist::XsdSchemaParser | |
~MaintainingReader() | QPatternist::MaintainingReader< XsdSchemaToken, XsdTagScope::Type > | protectedvirtual |
~QXmlStreamReader() | QXmlStreamReader | |