# https://www.spec.org/cpu2017/Docs/benchmarks/523.xalancbmk_r.html
include(../../SpecCPU2017.cmake)
if (NOT TEST_SUITE_SPEC2017_ROOT)
  return ()
endif ()

speccpu2017_benchmark(RATE)

add_definitions(
  -DAPP_NO_THREADS
  -DXALAN_INMEM_MSG_LOADER
  -DPROJ_XMLPARSER
  -DPROJ_XMLUTIL
  -DPROJ_PARSERS
  -DPROJ_SAX4C
  -DPROJ_SAX2
  -DPROJ_DOM
  -DPROJ_VALIDATORS
  -DXML_USE_INMEM_MESSAGELOADER
)
speccpu2017_add_include_dirs(
  .
  xercesc
  xercesc/dom
  xercesc/dom/impl
  xercesc/sax
  xercesc/util/MsgLoaders/InMemory
  xercesc/util/Transcoders/Iconv
  xalanc/include
)

## test ########################################################################

speccpu2017_run_test(
  -v test.xml xalanc.xsl
  STDOUT test-test.out
  WORKDIR input
  RUN_TYPE test
)

## train #######################################################################

speccpu2017_run_test(
  -v allbooks.xml xalanc.xsl
  STDOUT train-allbooks.out
  WORKDIR input
  RUN_TYPE train
)

## ref #########################################################################

speccpu2017_run_test(
  -v t5.xml xalanc.xsl
  STDOUT ref-t5.out
  WORKDIR input
  RUN_TYPE ref
)

################################################################################

speccpu2017_verify_output()
speccpu2017_add_executable(
  AIXPlatformUtils.cpp
  CSetDefs.cpp
  Win32PlatformUtils.cpp
  Win32MsgLoader.cpp
  Win32TransService.cpp
  Win32TransService2.cpp
  SunCCDefs.cpp
  SolarisPlatformUtils.cpp
  GCCDefs.cpp
  LinuxPlatformUtils.cpp
  MIPSproDefs.cpp
  IRIXPlatformUtils.cpp
  HPCCDefs.cpp
  HPPlatformUtils.cpp
  ASCIIRangeFactory.cpp
  AVT.cpp
  AVTPart.cpp
  AVTPartSimple.cpp
  AVTPartXPath.cpp
  AbstractDOMParser.cpp
  AbstractNumericFacetValidator.cpp
  AbstractNumericValidator.cpp
  AbstractStringValidator.cpp
  AllContentModel.cpp
  AnySimpleTypeDatatypeValidator.cpp
  AnyURIDatatypeValidator.cpp
  AttrImpl.cpp
  AttrMapImpl.cpp
  AttrNSImpl.cpp
  AttributeListImpl.cpp
  AttributesImpl.cpp
  BMPattern.cpp
  Base64.cpp
  Base64BinaryDatatypeValidator.cpp
  BinFileInputStream.cpp
  BinFileOutputStream.cpp
  BinInputStream.cpp
  BinMemInputStream.cpp
  BinMemOutputStream.cpp
  BinOutputStream.cpp
  BitSet.cpp
  BlockRangeFactory.cpp
  BooleanDatatypeValidator.cpp
  CDATASectionImpl.cpp
  CMAny.cpp
  CMBinaryOp.cpp
  CMUnaryOp.cpp
  CharToken.cpp
  CharacterDataImpl.cpp
  ChildNode.cpp
  ClosureToken.cpp
  CommentImpl.cpp
  ComplexTypeInfo.cpp
  ConcatToken.cpp
  ConditionToken.cpp
  Constants.cpp
  ContentLeafNameTypeVector.cpp
  ContentSpecNode.cpp
  CountersTable.cpp
  DFAContentModel.cpp
  DGXMLScanner.cpp
  DOMAttrImpl.cpp
  DOMAttrMapImpl.cpp
  DOMAttrNSImpl.cpp
  DOMBuilderImpl.cpp
  DOMCDATASectionImpl.cpp
  DOMCharacterDataImpl.cpp
  DOMChildNode.cpp
  DOMCommentImpl.cpp
  DOMConfigurationImpl.cpp
  DOMDeepNodeListImpl.cpp
  DOMDocumentFragmentImpl.cpp
  DOMDocumentImpl.cpp
  DOMDocumentTypeImpl.cpp
  DOMElementImpl.cpp
  DOMElementNSImpl.cpp
  DOMEntityImpl.cpp
  DOMEntityReferenceImpl.cpp
  DOMErrorImpl.cpp
  DOMException.cpp
  DOMImplementationImpl.cpp
  DOMImplementationRegistry.cpp
  DOMLocatorImpl.cpp
  DOMNamedNodeMapImpl.cpp
  DOMNodeIDMap.cpp
  DOMNodeImpl.cpp
  DOMNodeIteratorImpl.cpp
  DOMNodeListImpl.cpp
  DOMNodeVector.cpp
  DOMNormalizer.cpp
  DOMNotationImpl.cpp
  DOMParentNode.cpp
  DOMParser.cpp
  DOMProcessingInstructionImpl.cpp
  DOMRangeException.cpp
  DOMRangeImpl.cpp
  DOMServices.cpp
  DOMString.cpp
  DOMStringHelper.cpp
  DOMStringPool.cpp
  DOMStringPrintWriter.cpp
  DOMSupport.cpp
  DOMSupportDefault.cpp
  DOMSupportException.cpp
  DOMSupportInit.cpp
  DOMTextImpl.cpp
  DOMTreeWalkerImpl.cpp
  DOMTypeInfoImpl.cpp
  DOMWriterImpl.cpp
  DOMXPathException.cpp
  DOM_Attr.cpp
  DOM_CDATASection.cpp
  DOM_CharacterData.cpp
  DOM_Comment.cpp
  DOM_DOMException.cpp
  DOM_DOMImplementation.cpp
  DOM_Document.cpp
  DOM_DocumentFragment.cpp
  DOM_DocumentType.cpp
  DOM_Element.cpp
  DOM_Entity.cpp
  DOM_EntityReference.cpp
  DOM_NamedNodeMap.cpp
  DOM_Node.cpp
  DOM_NodeFilter.cpp
  DOM_NodeIterator.cpp
  DOM_NodeList.cpp
  DOM_Notation.cpp
  DOM_ProcessingInstruction.cpp
  DOM_Range.cpp
  DOM_RangeException.cpp
  DOM_Text.cpp
  DOM_TreeWalker.cpp
  DOM_XMLDecl.cpp
  DStringPool.cpp
  DTDAttDef.cpp
  DTDAttDefList.cpp
  DTDElementDecl.cpp
  DTDEntityDecl.cpp
  DTDGrammar.cpp
  DTDScanner.cpp
  DTDValidator.cpp
  DatatypeValidator.cpp
  DatatypeValidatorFactory.cpp
  DateDatatypeValidator.cpp
  DateTimeDatatypeValidator.cpp
  DateTimeValidator.cpp
  DayDatatypeValidator.cpp
  DecimalDatatypeValidator.cpp
  DeepNodeListImpl.cpp
  DefaultPanicHandler.cpp
  DocumentFragmentImpl.cpp
  DocumentImpl.cpp
  DocumentTypeImpl.cpp
  DomMemDebug.cpp
  DoubleDatatypeValidator.cpp
  DoubleSupport.cpp
  Dummy.cpp
  DurationDatatypeValidator.cpp
  ENTITYDatatypeValidator.cpp
  ElemApplyImport.cpp
  ElemApplyTemplates.cpp
  ElemAttribute.cpp
  ElemAttributeSet.cpp
  ElemCallTemplate.cpp
  ElemChoose.cpp
  ElemComment.cpp
  ElemCopy.cpp
  ElemCopyOf.cpp
  ElemDecimalFormat.cpp
  ElemElement.cpp
  ElemEmpty.cpp
  ElemExtensionCall.cpp
  ElemFallback.cpp
  ElemForEach.cpp
  ElemForwardCompatible.cpp
  ElemIf.cpp
  ElemLiteralResult.cpp
  ElemMessage.cpp
  ElemNumber.cpp
  ElemOtherwise.cpp
  ElemPI.cpp
  ElemParam.cpp
  ElemSort.cpp
  ElemStack.cpp
  ElemTemplate.cpp
  ElemTemplateElement.cpp
  ElemText.cpp
  ElemTextLiteral.cpp
  ElemUse.cpp
  ElemValueOf.cpp
  ElemVariable.cpp
  ElemWhen.cpp
  ElemWithParam.cpp
  ElementDefinitionImpl.cpp
  ElementImpl.cpp
  ElementNSImpl.cpp
  ElementPrefixResolverProxy.cpp
  EncodingValidator.cpp
  EntityImpl.cpp
  EntityReferenceImpl.cpp
  ExecutionContext.cpp
  ExtensionFunctionHandler.cpp
  ExtensionNSHandler.cpp
  FieldActivator.cpp
  FieldValueMap.cpp
  FileHandleImpl.cpp
  FloatDatatypeValidator.cpp
  FormatterListener.cpp
  FormatterStringLengthCounter.cpp
  FormatterToDOM.cpp
  FormatterToDeprecatedXercesDOM.cpp
  FormatterToHTML.cpp
  FormatterToNull.cpp
  FormatterToSourceTree.cpp
  FormatterToText.cpp
  FormatterToXML.cpp
  FormatterToXercesDOM.cpp
  FormatterTreeWalker.cpp
  Function.cpp
  FunctionConcat.cpp
  FunctionContains.cpp
  FunctionCurrent.cpp
  FunctionDifference.cpp
  FunctionDistinct.cpp
  FunctionDocument.cpp
  FunctionElementAvailable.cpp
  FunctionEvaluate.cpp
  FunctionFormatNumber.cpp
  FunctionFunctionAvailable.cpp
  FunctionGenerateID.cpp
  FunctionHasSameNodes.cpp
  FunctionID.cpp
  FunctionIntersection.cpp
  FunctionKey.cpp
  FunctionLang.cpp
  FunctionNamespaceURI.cpp
  FunctionNodeSet.cpp
  FunctionNormalizeSpace.cpp
  FunctionStartsWith.cpp
  FunctionString.cpp
  FunctionSubstring.cpp
  FunctionSubstringAfter.cpp
  FunctionSubstringBefore.cpp
  FunctionSystemProperty.cpp
  FunctionTranslate.cpp
  FunctionUnparsedEntityURI.cpp
  GeneralAttributeCheck.cpp
  GenerateEvent.cpp
  Grammar.cpp
  GrammarResolver.cpp
  HashPtr.cpp
  HashXMLCh.cpp
  HeaderDummy.cpp
  HexBin.cpp
  HexBinaryDatatypeValidator.cpp
  ICUResHandler.cpp
  IC_Field.cpp
  IC_Key.cpp
  IC_KeyRef.cpp
  IC_Selector.cpp
  IC_Unique.cpp
  IDDatatypeValidator.cpp
  IDREFDatatypeValidator.cpp
  IGXMLScanner.cpp
  IGXMLScanner2.cpp
  IconvTransService.cpp
  IdentityConstraint.cpp
  IdentityConstraintHandler.cpp
  InMemHandler.cpp
  InMemMsgLoader.cpp
  InputSource.cpp
  KVStringPair.cpp
  KeyTable.cpp
  ListDatatypeValidator.cpp
  LocalFileFormatTarget.cpp
  LocalFileInputSource.cpp
  Match.cpp
  MemBufFormatTarget.cpp
  MemBufInputSource.cpp
  MemoryManagerArrayImpl.cpp
  MemoryManagerImpl.cpp
  MixedContentModel.cpp
  ModifierToken.cpp
  MonthDatatypeValidator.cpp
  MonthDayDatatypeValidator.cpp
  MsgFileOutputStream.cpp
  MutableNodeRefList.cpp
  Mutexes.cpp
  NCNameDatatypeValidator.cpp
  NLSHandler.cpp
  NOTATIONDatatypeValidator.cpp
  NameDatatypeValidator.cpp
  NamedNodeMapAttributeList.cpp
  NamedNodeMapImpl.cpp
  NamespaceScope.cpp
  NamespacesHandler.cpp
  NodeIDMap.cpp
  NodeImpl.cpp
  NodeIteratorImpl.cpp
  NodeListImpl.cpp
  NodeNameTreeWalker.cpp
  NodeRefList.cpp
  NodeRefListBase.cpp
  NodeSortKey.cpp
  NodeSorter.cpp
  NodeVector.cpp
  NotationImpl.cpp
  NullPrintWriter.cpp
  Op.cpp
  OpFactory.cpp
  OutputContextStack.cpp
  PSVIAttribute.cpp
  PSVIAttributeList.cpp
  PSVIElement.cpp
  PSVIItem.cpp
  PanicHandler.cpp
  ParenToken.cpp
  ParentNode.cpp
  ParserForXMLSchema.cpp
  PlatformSupportInit.cpp
  PlatformUtils.cpp
  PrefixResolver.cpp
  PrintWriter.cpp
  ProblemListener.cpp
  ProblemListenerDefault.cpp
  ProcessingInstructionImpl.cpp
  QName.cpp
  QNameDatatypeValidator.cpp
  RangeFactory.cpp
  RangeImpl.cpp
  RangeToken.cpp
  RangeTokenMap.cpp
  ReaderMgr.cpp
  RefCountedImpl.cpp
  RegularExpression.cpp
  RegxParser.cpp
  RegxUtil.cpp
  Resettable.cpp
  ResultNamespacesStack.cpp
  SAX2Handler.cpp
  SAX2XMLFilterImpl.cpp
  SAX2XMLReaderImpl.cpp
  SAXException.cpp
  SAXParseException.cpp
  SAXParser.cpp
  SGXMLScanner.cpp
  SchemaAttDef.cpp
  SchemaAttDefList.cpp
  SchemaElementDecl.cpp
  SchemaGrammar.cpp
  SchemaInfo.cpp
  SchemaSymbols.cpp
  SchemaValidator.cpp
  SelectionEvent.cpp
  SimpleContentModel.cpp
  StdBinInputStream.cpp
  StdInInputSource.cpp
  StdOutFormatTarget.cpp
  StringDatatypeValidator.cpp
  StringPool.cpp
  StringToken.cpp
  StringTokenizer.cpp
  Stylesheet.cpp
  StylesheetConstructionContext.cpp
  StylesheetConstructionContextDefault.cpp
  StylesheetExecutionContext.cpp
  StylesheetExecutionContextDefault.cpp
  StylesheetHandler.cpp
  StylesheetRoot.cpp
  SubstitutionGroupComparator.cpp
  SynchronizedStringPool.cpp
  TextImpl.cpp
  TimeDatatypeValidator.cpp
  Token.cpp
  TokenFactory.cpp
  TopLevelArg.cpp
  TraceListener.cpp
  TraceListenerDefault.cpp
  TracerEvent.cpp
  TransService.cpp
  TraverseSchema.cpp
  TreeWalker.cpp
  TreeWalkerImpl.cpp
  URISupport.cpp
  URLInputSource.cpp
  UnicodeRangeFactory.cpp
  UnionDatatypeValidator.cpp
  UnionToken.cpp
  ValidationContextImpl.cpp
  ValueStore.cpp
  ValueStoreCache.cpp
  VariablesStack.cpp
  VecAttrListImpl.cpp
  VecAttributesImpl.cpp
  WFXMLScanner.cpp
  Wrapper4DOMInputSource.cpp
  Wrapper4InputSource.cpp
  Writer.cpp
  XBoolean.cpp
  XML256TableTranscoder.cpp
  XML256TableTranscoder390.cpp
  XML88591Transcoder.cpp
  XML88591Transcoder390.cpp
  XMLASCIITranscoder.cpp
  XMLASCIITranscoder390.cpp
  XMLAbstractDoubleFloat.cpp
  XMLAttDef.cpp
  XMLAttDefList.cpp
  XMLAttr.cpp
  XMLBigDecimal.cpp
  XMLBigInteger.cpp
  XMLBuffer.cpp
  XMLBufferMgr.cpp
  XMLCanRepGroup.cpp
  XMLChTranscoder.cpp
  XMLChar.cpp
  XMLContentModel.cpp
  XMLDTDDescription.cpp
  XMLDTDDescriptionImpl.cpp
  XMLDateTime.cpp
  XMLDeclImpl.cpp
  XMLDouble.cpp
  XMLEBCDICTranscoder.cpp
  XMLEBCDICTranscoder390.cpp
  XMLElementDecl.cpp
  XMLEntityDecl.cpp
  XMLException.cpp
  XMLFloat.cpp
  XMLFormatter.cpp
  XMLGrammarDescription.cpp
  XMLGrammarPoolImpl.cpp
  XMLIBM1047Transcoder.cpp
  XMLIBM1047Transcoder390.cpp
  XMLIBM1140Transcoder.cpp
  XMLIBM1140Transcoder390.cpp
  XMLInitializer.cpp
  XMLMsgLoader.cpp
  XMLNotationDecl.cpp
  XMLNumber.cpp
  XMLParserLiaison.cpp
  XMLRangeFactory.cpp
  XMLReader.cpp
  XMLRecognizer.cpp
  XMLRefInfo.cpp
  XMLRegisterCleanup.cpp
  XMLScanner.cpp
  XMLScannerResolver.cpp
  XMLSchemaDescription.cpp
  XMLSchemaDescriptionImpl.cpp
  XMLString.cpp
  XMLStringTokenizer.cpp
  XMLSupportException.cpp
  XMLSupportInit.cpp
  XMLUCSTranscoder.cpp
  XMLURL.cpp
  XMLUTF16Transcoder.cpp
  XMLUTF8Transcoder.cpp
  XMLUTF8Transcoder390.cpp
  XMLUni.cpp
  XMLUniCharacter.cpp
  XMLUri.cpp
  XMLValidator.cpp
  XMLWin1252Transcoder.cpp
  XMLWin1252Transcoder390.cpp
  XMemory.cpp
  XNodeSet.cpp
  XNodeSetAllocator.cpp
  XNodeSetBase.cpp
  XNodeSetNodeProxy.cpp
  XNodeSetNodeProxyAllocator.cpp
  XNodeSetResultTreeFragProxy.cpp
  XNull.cpp
  XNumber.cpp
  XNumberAllocator.cpp
  XNumberBase.cpp
  XObject.cpp
  XObjectFactory.cpp
  XObjectFactoryDefault.cpp
  XObjectResultTreeFragProxy.cpp
  XObjectResultTreeFragProxyBase.cpp
  XObjectResultTreeFragProxyText.cpp
  XObjectTypeCallback.cpp
  XPath.cpp
  XPathAllocator.cpp
  XPathCAPI.cpp
  XPathConstructionContext.cpp
  XPathConstructionContextDefault.cpp
  XPathEnvSupport.cpp
  XPathEnvSupportDefault.cpp
  XPathEvaluator.cpp
  XPathExecutionContext.cpp
  XPathExecutionContextDefault.cpp
  XPathExpression.cpp
  XPathFactory.cpp
  XPathFactoryBlock.cpp
  XPathFactoryDefault.cpp
  XPathFunctionTable.cpp
  XPathInit.cpp
  XPathMatcher.cpp
  XPathMatcherStack.cpp
  XPathParserException.cpp
  XPathProcessor.cpp
  XPathProcessorImpl.cpp
  XPathSymbols.cpp
  XProtoType.cpp
  XResultTreeFrag.cpp
  XResultTreeFragAllocator.cpp
  XSAXMLScanner.cpp
  XSAnnotation.cpp
  XSAttributeDeclaration.cpp
  XSAttributeGroupDefinition.cpp
  XSAttributeUse.cpp
  XSComplexTypeDefinition.cpp
  XSDDOMParser.cpp
  XSDElementNSImpl.cpp
  XSDErrorReporter.cpp
  XSDLocator.cpp
  XSElementDeclaration.cpp
  XSFacet.cpp
  XSIDCDefinition.cpp
  XSLException.cpp
  XSLTEngineImpl.cpp
  XSLTInit.cpp
  XSLTInputSource.cpp
  XSLTProcessor.cpp
  XSLTProcessorEnvSupport.cpp
  XSLTProcessorEnvSupportDefault.cpp
  XSLTProcessorException.cpp
  XSLTResultTarget.cpp
  XSModel.cpp
  XSModelGroup.cpp
  XSModelGroupDefinition.cpp
  XSMultiValueFacet.cpp
  XSNamespaceItem.cpp
  XSNotationDeclaration.cpp
  XSObject.cpp
  XSObjectFactory.cpp
  XSParticle.cpp
  XSSimpleTypeDefinition.cpp
  XSTypeDefinition.cpp
  XSValue.cpp
  XSWildcard.cpp
  XSerializeEngine.cpp
  XSpan.cpp
  XString.cpp
  XStringAdapter.cpp
  XStringAdapterAllocator.cpp
  XStringAllocator.cpp
  XStringBase.cpp
  XStringCached.cpp
  XStringCachedAllocator.cpp
  XStringReference.cpp
  XStringReferenceAllocator.cpp
  XTemplateSerializer.cpp
  XToken.cpp
  XTokenNumberAdapter.cpp
  XTokenNumberAdapterAllocator.cpp
  XTokenStringAdapter.cpp
  XTokenStringAdapterAllocator.cpp
  XUnknown.cpp
  XUtil.cpp
  XalanAVTAllocator.cpp
  XalanAVTPartSimpleAllocator.cpp
  XalanAVTPartXPathAllocator.cpp
  XalanAttr.cpp
  XalanBitmap.cpp
  XalanCAPI.cpp
  XalanCDataSection.cpp
  XalanCharacterData.cpp
  XalanComment.cpp
  XalanCompiledStylesheetDefault.cpp
  XalanDOMException.cpp
  XalanDOMImplementation.cpp
  XalanDOMInit.cpp
  XalanDOMString.cpp
  XalanDOMStringAllocator.cpp
  XalanDOMStringCache.cpp
  XalanDOMStringHashTable.cpp
  XalanDOMStringPool.cpp
  XalanDOMStringReusableAllocator.cpp
  XalanDecimalFormatSymbols.cpp
  XalanDefaultDocumentBuilder.cpp
  XalanDefaultParsedSource.cpp
  XalanDiagnosticMemoryManager.cpp
  XalanDocument.cpp
  XalanDocumentFragment.cpp
  XalanDocumentFragmentNodeRefListBaseProxy.cpp
  XalanDocumentPrefixResolver.cpp
  XalanDocumentType.cpp
  XalanEXSLTCommon.cpp
  XalanEXSLTDateTime.cpp
  XalanEXSLTDynamic.cpp
  XalanEXSLTMath.cpp
  XalanEXSLTSet.cpp
  XalanEXSLTString.cpp
  XalanElemApplyTemplatesAllocator.cpp
  XalanElemAttributeAllocator.cpp
  XalanElemAttributeSetAllocator.cpp
  XalanElemCallTemplateAllocator.cpp
  XalanElemElementAllocator.cpp
  XalanElemEmptyAllocator.cpp
  XalanElemLiteralResultAllocator.cpp
  XalanElemTemplateAllocator.cpp
  XalanElemTextAllocator.cpp
  XalanElemTextLiteralAllocator.cpp
  XalanElemValueOfAllocator.cpp
  XalanElemVariableAllocator.cpp
  XalanElement.cpp
  XalanEmptyNamedNodeMap.cpp
  XalanEncodingPropertyCache.cpp
  XalanEntity.cpp
  XalanEntityReference.cpp
  XalanExe.cpp
  XalanExtensions.cpp
  XalanFStreamOutputStream.cpp
  XalanFileOutputStream.cpp
  XalanFileUtility.cpp
  XalanHTMLElementsProperties.cpp
  XalanICUMessageLoader.cpp
  XalanInMemoryMessageLoader.cpp
  XalanMatchPatternData.cpp
  XalanMatchPatternDataAllocator.cpp
  XalanMemoryManagement.cpp
  XalanMemoryManagerDefault.cpp
  XalanMessageLoader.cpp
  XalanMsgLib.cpp
  XalanNLSMessageLoader.cpp
  XalanNamedNodeMap.cpp
  XalanNamespacesStack.cpp
  XalanNode.cpp
  XalanNodeList.cpp
  XalanNodeListDummy.cpp
  XalanNodeListSurrogate.cpp
  XalanNotation.cpp
  XalanNullOutputStream.cpp
  XalanNumberFormat.cpp
  XalanNumberingResourceBundle.cpp
  XalanOutputStream.cpp
  XalanOutputStreamPrintWriter.cpp
  XalanParsedSource.cpp
  XalanParsedURI.cpp
  XalanProcessingInstruction.cpp
  XalanQName.cpp
  XalanQNameByReference.cpp
  XalanQNameByValue.cpp
  XalanQNameByValueAllocator.cpp
  XalanReferenceCountedObject.cpp
  XalanSimplePrefixResolver.cpp
  XalanSourceTreeAttr.cpp
  XalanSourceTreeAttrNS.cpp
  XalanSourceTreeAttributeAllocator.cpp
  XalanSourceTreeAttributeNSAllocator.cpp
  XalanSourceTreeComment.cpp
  XalanSourceTreeCommentAllocator.cpp
  XalanSourceTreeContentHandler.cpp
  XalanSourceTreeDOMSupport.cpp
  XalanSourceTreeDocument.cpp
  XalanSourceTreeDocumentAllocator.cpp
  XalanSourceTreeDocumentFragment.cpp
  XalanSourceTreeDocumentFragmentAllocator.cpp
  XalanSourceTreeElement.cpp
  XalanSourceTreeElementA.cpp
  XalanSourceTreeElementAAllocator.cpp
  XalanSourceTreeElementANS.cpp
  XalanSourceTreeElementANSAllocator.cpp
  XalanSourceTreeElementNA.cpp
  XalanSourceTreeElementNAAllocator.cpp
  XalanSourceTreeElementNANS.cpp
  XalanSourceTreeElementNANSAllocator.cpp
  XalanSourceTreeHelper.cpp
  XalanSourceTreeInit.cpp
  XalanSourceTreeParserLiaison.cpp
  XalanSourceTreeProcessingInstruction.cpp
  XalanSourceTreeProcessingInstructionAllocator.cpp
  XalanSourceTreeText.cpp
  XalanSourceTreeTextAllocator.cpp
  XalanSourceTreeTextIWS.cpp
  XalanSourceTreeTextIWSAllocator.cpp
  XalanSourceTreeWrapperParsedSource.cpp
  XalanSpaceNodeTester.cpp
  XalanStdOutputStream.cpp
  XalanText.cpp
  XalanToXercesTranscoderWrapper.cpp
  XalanTranscodingServices.cpp
  XalanTransformer.cpp
  XalanTransformerOutputStream.cpp
  XalanTransformerProblemListener.cpp
  XalanUTF16Transcoder.cpp
  XalanUTF16Writer.cpp
  XalanUTF8Writer.cpp
  XalanXMLChar.cpp
  XalanXMLFileReporter.cpp
  XalanXMLSerializerBase.cpp
  XalanXMLSerializerFactory.cpp
  XalanXPathException.cpp
  XercesAttGroupInfo.cpp
  XercesAttrBridge.cpp
  XercesAttrWrapper.cpp
  XercesAttrWrapperAllocator.cpp
  XercesAttributeBridgeAllocator.cpp
  XercesBridgeHelper.cpp
  XercesBridgeNavigator.cpp
  XercesCDATASectionBridge.cpp
  XercesCDATASectionWrapper.cpp
  XercesCommentBridge.cpp
  XercesCommentWrapper.cpp
  XercesDOMException.cpp
  XercesDOMFormatterWalker.cpp
  XercesDOMImplementationBridge.cpp
  XercesDOMImplementationWrapper.cpp
  XercesDOMParsedSource.cpp
  XercesDOMParser.cpp
  XercesDOMSupport.cpp
  XercesDOMWalker.cpp
  XercesDOMWrapperException.cpp
  XercesDOMWrapperParsedSource.cpp
  XercesDOM_NodeHack.cpp
  XercesDocumentBridge.cpp
  XercesDocumentFragmentBridge.cpp
  XercesDocumentTypeBridge.cpp
  XercesDocumentTypeWrapper.cpp
  XercesDocumentWrapper.cpp
  XercesElementBridge.cpp
  XercesElementBridgeAllocator.cpp
  XercesElementWildcard.cpp
  XercesElementWrapper.cpp
  XercesElementWrapperAllocator.cpp
  XercesEntityBridge.cpp
  XercesEntityReferenceBridge.cpp
  XercesEntityReferenceWrapper.cpp
  XercesEntityWrapper.cpp
  XercesGroupInfo.cpp
  XercesLiaisonXalanDOMStringPool.cpp
  XercesNamedNodeMapAttributeList.cpp
  XercesNamedNodeMapBridge.cpp
  XercesNamedNodeMapWrapper.cpp
  XercesNodeListBridge.cpp
  XercesNodeListWrapper.cpp
  XercesNotationBridge.cpp
  XercesNotationWrapper.cpp
  XercesParserLiaison.cpp
  XercesProcessingInstructionBridge.cpp
  XercesProcessingInstructionWrapper.cpp
  XercesTextBridge.cpp
  XercesTextBridgeAllocator.cpp
  XercesTextWrapper.cpp
  XercesTextWrapperAllocator.cpp
  XercesToXalanNodeMap.cpp
  XercesTreeWalker.cpp
  XercesWrapperHelper.cpp
  XercesWrapperNavigator.cpp
  XercesWrapperNavigatorAllocator.cpp
  XercesWrapperToXalanNodeMap.cpp
  XercesXPath.cpp
  YearDatatypeValidator.cpp
  YearMonthDatatypeValidator.cpp
)

