#include "qxsdschemachecker_p.h" QT_BEGIN_NAMESPACE using namespace QPatternist; void XsdSchemaChecker::setupAllowedAtomicFacets() { // string { QSet facets; facets << XsdFacet::Length << XsdFacet::MinimumLength << XsdFacet::MaximumLength << XsdFacet::Pattern << XsdFacet::Enumeration << XsdFacet::WhiteSpace << XsdFacet::Assertion; m_allowedAtomicFacets.insert(BuiltinTypes::xsString->name(m_namePool), facets); } // boolean { QSet facets; facets << XsdFacet::Pattern << XsdFacet::WhiteSpace << XsdFacet::Assertion; m_allowedAtomicFacets.insert(BuiltinTypes::xsBoolean->name(m_namePool), facets); } // float { QSet facets; facets << XsdFacet::Pattern << XsdFacet::Enumeration << XsdFacet::WhiteSpace << XsdFacet::MaximumInclusive << XsdFacet::MaximumExclusive << XsdFacet::MinimumInclusive << XsdFacet::MinimumExclusive << XsdFacet::Assertion; m_allowedAtomicFacets.insert(BuiltinTypes::xsFloat->name(m_namePool), facets); } // double { QSet facets; facets << XsdFacet::Pattern << XsdFacet::Enumeration << XsdFacet::WhiteSpace << XsdFacet::MaximumInclusive << XsdFacet::MaximumExclusive << XsdFacet::MinimumInclusive << XsdFacet::MinimumExclusive << XsdFacet::Assertion; m_allowedAtomicFacets.insert(BuiltinTypes::xsDouble->name(m_namePool), facets); } // decimal { QSet facets; facets << XsdFacet::TotalDigits << XsdFacet::FractionDigits << XsdFacet::Pattern << XsdFacet::Enumeration << XsdFacet::WhiteSpace << XsdFacet::MaximumInclusive << XsdFacet::MaximumExclusive << XsdFacet::MinimumInclusive << XsdFacet::MinimumExclusive << XsdFacet::Assertion; m_allowedAtomicFacets.insert(BuiltinTypes::xsDecimal->name(m_namePool), facets); } // duration { QSet facets; facets << XsdFacet::Pattern << XsdFacet::Enumeration << XsdFacet::WhiteSpace << XsdFacet::MaximumInclusive << XsdFacet::MaximumExclusive << XsdFacet::MinimumInclusive << XsdFacet::MinimumExclusive << XsdFacet::Assertion; m_allowedAtomicFacets.insert(BuiltinTypes::xsDuration->name(m_namePool), facets); } // dateTime { QSet facets; facets << XsdFacet::Pattern << XsdFacet::Enumeration << XsdFacet::WhiteSpace << XsdFacet::MaximumInclusive << XsdFacet::MaximumExclusive << XsdFacet::MinimumInclusive << XsdFacet::MinimumExclusive << XsdFacet::Assertion; m_allowedAtomicFacets.insert(BuiltinTypes::xsDateTime->name(m_namePool), facets); } // time { QSet facets; facets << XsdFacet::Pattern << XsdFacet::Enumeration << XsdFacet::WhiteSpace << XsdFacet::MaximumInclusive << XsdFacet::MaximumExclusive << XsdFacet::MinimumInclusive << XsdFacet::MinimumExclusive << XsdFacet::Assertion; m_allowedAtomicFacets.insert(BuiltinTypes::xsTime->name(m_namePool), facets); } // date { QSet facets; facets << XsdFacet::Pattern << XsdFacet::Enumeration << XsdFacet::WhiteSpace << XsdFacet::MaximumInclusive << XsdFacet::MaximumExclusive << XsdFacet::MinimumInclusive << XsdFacet::MinimumExclusive << XsdFacet::Assertion; m_allowedAtomicFacets.insert(BuiltinTypes::xsDate->name(m_namePool), facets); } // gYearMonth { QSet facets; facets << XsdFacet::Pattern << XsdFacet::Enumeration << XsdFacet::WhiteSpace << XsdFacet::MaximumInclusive << XsdFacet::MaximumExclusive << XsdFacet::MinimumInclusive << XsdFacet::MinimumExclusive << XsdFacet::Assertion; m_allowedAtomicFacets.insert(BuiltinTypes::xsGYearMonth->name(m_namePool), facets); } // gYear { QSet facets; facets << XsdFacet::Pattern << XsdFacet::Enumeration << XsdFacet::WhiteSpace << XsdFacet::MaximumInclusive << XsdFacet::MaximumExclusive << XsdFacet::MinimumInclusive << XsdFacet::MinimumExclusive << XsdFacet::Assertion; m_allowedAtomicFacets.insert(BuiltinTypes::xsGYear->name(m_namePool), facets); } // gMonthDay { QSet facets; facets << XsdFacet::Pattern << XsdFacet::Enumeration << XsdFacet::WhiteSpace << XsdFacet::MaximumInclusive << XsdFacet::MaximumExclusive << XsdFacet::MinimumInclusive << XsdFacet::MinimumExclusive << XsdFacet::Assertion; m_allowedAtomicFacets.insert(BuiltinTypes::xsGMonthDay->name(m_namePool), facets); } // gDay { QSet facets; facets << XsdFacet::Pattern << XsdFacet::Enumeration << XsdFacet::WhiteSpace << XsdFacet::MaximumInclusive << XsdFacet::MaximumExclusive << XsdFacet::MinimumInclusive << XsdFacet::MinimumExclusive << XsdFacet::Assertion; m_allowedAtomicFacets.insert(BuiltinTypes::xsGDay->name(m_namePool), facets); } // gMonth { QSet facets; facets << XsdFacet::Pattern << XsdFacet::Enumeration << XsdFacet::WhiteSpace << XsdFacet::MaximumInclusive << XsdFacet::MaximumExclusive << XsdFacet::MinimumInclusive << XsdFacet::MinimumExclusive << XsdFacet::Assertion; m_allowedAtomicFacets.insert(BuiltinTypes::xsGMonth->name(m_namePool), facets); } // hexBinary { QSet facets; facets << XsdFacet::Length << XsdFacet::MinimumLength << XsdFacet::MaximumLength << XsdFacet::Pattern << XsdFacet::Enumeration << XsdFacet::WhiteSpace << XsdFacet::Assertion; m_allowedAtomicFacets.insert(BuiltinTypes::xsHexBinary->name(m_namePool), facets); } // base64Binary { QSet facets; facets << XsdFacet::Length << XsdFacet::MinimumLength << XsdFacet::MaximumLength << XsdFacet::Pattern << XsdFacet::Enumeration << XsdFacet::WhiteSpace << XsdFacet::Assertion; m_allowedAtomicFacets.insert(BuiltinTypes::xsBase64Binary->name(m_namePool), facets); } // anyURI { QSet facets; facets << XsdFacet::Length << XsdFacet::MinimumLength << XsdFacet::MaximumLength << XsdFacet::Pattern << XsdFacet::Enumeration << XsdFacet::WhiteSpace << XsdFacet::Assertion; m_allowedAtomicFacets.insert(BuiltinTypes::xsAnyURI->name(m_namePool), facets); } // QName { QSet facets; facets << XsdFacet::Length << XsdFacet::MinimumLength << XsdFacet::MaximumLength << XsdFacet::Pattern << XsdFacet::Enumeration << XsdFacet::WhiteSpace << XsdFacet::Assertion; m_allowedAtomicFacets.insert(BuiltinTypes::xsQName->name(m_namePool), facets); } // NOTATION { QSet facets; facets << XsdFacet::Length << XsdFacet::MinimumLength << XsdFacet::MaximumLength << XsdFacet::Pattern << XsdFacet::Enumeration << XsdFacet::WhiteSpace << XsdFacet::Assertion; m_allowedAtomicFacets.insert(BuiltinTypes::xsNOTATION->name(m_namePool), facets); } } QT_END_NAMESPACE