'encoding UTF-8 Do not remove or change this line! '************************************************************************* ' ' Licensed to the Apache Software Foundation (ASF) under one ' or more contributor license agreements. See the NOTICE file ' distributed with this work for additional information ' regarding copyright ownership. The ASF licenses this file ' to you under the Apache License, Version 2.0 (the ' "License"); you may not use this file except in compliance ' with the License. You may obtain a copy of the License at ' ' http://www.apache.org/licenses/LICENSE-2.0 ' ' Unless required by applicable law or agreed to in writing, ' software distributed under the License is distributed on an ' "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY ' KIND, either express or implied. See the License for the ' specific language governing permissions and limitations ' under the License. ' '************************************************************************* '* '* short description : Library 01 for OASIS OpenDocument File Format (Presentation and Drawing) test '* '************************************************************************ '* ' #1 talien_attributes ' Verification that alian attributes will be stored in document. ' #1 t_all_header_footer ' http://specs.openoffice.org/impress/header_and_footer.sxw ' #1 t_no_header_footer ' http://specs.openoffice.org/impress/header_and_footer.sxw ' #1 t_no_header_footer_master_elements ' http://specs.openoffice.org/impress/header_and_footer.sxw ' #1 t_some_header_footer ' http://specs.openoffice.org/impress/header_and_footer.sxw '* '\*********************************************************************** testcase talien_attributes Dim i as integer Dim AttrNameInDOM as string Dim sPropertyElement as string Dim sLogAttributeName as string Dim sAttributeSearch(9) as string Dim sAttributeValue(9) as string printlog "+- Presentation: alien.odp" '/// Opening alien.sxi. /// call hFileOpen (gTesttoolPath & ConvertPath("xml\required\input\graphics\alien_attributes\alien_attributes_presentation.odp")) '/// Saving document. /// if hFileSaveAsWithFilterKill (gOfficePath & ConvertPath("user\work\xml\graphics\update\alien_attributes_presentation.odp") , "impress8") = TRUE then '/// Closing document. /// call hCloseDocument '/// Unpacking the compressed (ZIP) archive. UnpackStorage( gOfficePath & ConvertPath("user\work\xml\graphics\update\alien_attributes_presentation.odp") , gOfficePath & ConvertPath("user\work\xml\graphics\update\alien_attributes_presentation\") ) '/// Verifying the well-formness of styles.xml, content.xml and meta.xml. '///+ Only if the three XML files are well formed the next checks (GPF-check, attribute-search) will be started. if XMLWellformed (gOfficePath & ConvertPath("user\work\xml\graphics\update\alien_attributes_presentation\styles.xml")) = TRUE then if XMLWellformed (gOfficePath & ConvertPath("user\work\xml\graphics\update\alien_attributes_presentation\meta.xml")) = TRUE then if XMLWellformed (gOfficePath & ConvertPath("user\work\xml\graphics\update\alien_attributes_presentation\content.xml")) = TRUE then '/// Opening exported document (GPF check). /// call hFileOpen (gOfficePath & ConvertPath("user\work\xml\graphics\update\alien_attributes_presentation.odp") sleep(2) '/// Closing document. /// call hCloseDocument sleep(2) SAXReadFile(gOfficePath & ConvertPath("user\work\xml\graphics\update\alien_attributes_presentation\content.xml")) printlog "-----------------" printlog "Hidden Namespaces" printlog "-----------------" '/// content.xml '/// Hidden attributes in namespaces '///+ Searching for: xmlns:alien="http://openoffice.org/2000/alien" '------------------------------------------------------------------------- sAttributeSearch(1) = "xmlns:alien" sAttributeValue(1) = "http://openoffice.org/2000/alien" printlog "++ Feature(s) to be searched for:" printlog " |" '------------------------------------------------------------------------- SAXSeekElement("office:document-content") printlog " +- " & sAttributeSearch(1) if SAXGetAttributeValue(sAttributeSearch(1)) <> sAttributeValue(1) then warnlog "Hidden attributes (in namespace): " & sAttributeSearch(1) & " is not " & sAttributeValue(1) & "!" end if printlog " * * *" SAXSeekElement("/") '/// hidden attributes '///+
  1. in a drawing-page style
  2. '///+
  3. in a graphics style
  4. '///+
  5. in a paragraph style (twice)
  6. '///+
  7. in a text style
'///+ Searching for: alien:key="page" '///+ Searching for: alien:key="shape" '///+ Searching for: alien:key="para" '///+ Searching for: alien:key="shape-text" '///+ Searching for: alien:key="text" 'The number behind the string variable is the position 'in the DOM-tree. The search is hard coded because the 'export of the same file should not change in the lifetime 'cycle. sAttributeSearch(1) = "alien:key" sAttributeValue(1) = "page" sAttributeSearch(3) = "alien:key" sAttributeValue(3) = "shape" sAttributeSearch(6) = "alien:key" sAttributeValue(6) = "para" sAttributeSearch(7) = "alien:key" sAttributeValue(7) = "shape-text" sAttributeSearch(9) = "alien:key" sAttributeValue(9) = "text" '------------------------------------------------------------------------- printlog "++ Feature(s) to be searched for:" printlog " |" '------------------------------------------------------------------------- for i = 1 to 9 select case i case 1 : printlog "-----------------------------------------" printlog "Hidden attributes in a drawing-page style" printlog "-----------------------------------------" sPropertyElement = "style:drawing-page-properties" sLogAttributeName = "drawing-page" case 3 : printlog "-------------------------------------" printlog "Hidden attributes in a graphics style" printlog "-------------------------------------" sPropertyElement = "style:graphic-properties" sLogAttributeName = "graphics" case 6, 7 : printlog "-------------------------------------------" printlog "Hidden attributes in a paragraph style (" & i-4 & ")" printlog "-------------------------------------------" sPropertyElement = "style:paragraph-properties" sLogAttributeName = "paragraph" case 9 : printlog "---------------------------------" printlog "Hidden attributes in a text style" printlog "---------------------------------" sPropertyElement = "style:text-properties" sLogAttributeName = "text" end select if i = 1 or i = 3 or i = 6 or i = 7 or i = 9 then 'The hidden attributes are in a known sequence included, 'so the same routine will be used for different styles! SAXSeekElement("/") SAXSeekElement("office:document-content") SAXSeekElement("office:automatic-styles") SAXSeekElement("style:style" , i ) AttrNameInDOM = SAXGetAttributeValue("style:name") printlog " + style:style position in DOM: " & i & ". Attribute name: " & AttrNameInDOM printlog " |" 'It depends on the type of element (drawing-page, paragraphic, graphics, ...) 'which is the next element. That is a difference to OOo XML 1.0 where everything 'called 'style:properties'. SAXSeekElement(sPropertyElement) printlog " +- " & sAttributeSearch(i) if SAXGetAttributeValue(sAttributeSearch(i)) <> sAttributeValue(i) then warnlog "Hidden attributes (in a " & sLogAttributeName & " style): " & sAttributeSearch(i) & " is not " & sAttributeValue(i) & "!" end if end if next i SAXSeekElement("/") printlog " * * *" '------------------------------------------------------------------------- '/// Closing the XML DOM. SAXRelease() '/// Opening the DOM of styles.xml. SAXReadFile(gOfficePath & ConvertPath("user\work\xml\graphics\update\alien_attributes_presentation\styles.xml")) '------------------------------------------------------------------------- printlog "-------------------" printlog "s t y l e s . x m l" printlog "-------------------" printlog "-----------------" printlog "Hidden Namespaces" printlog "-----------------" '/// styles.xml '/// Hidden attributes in namespaces '///+ Searching for: xmlns:alien="http://openoffice.org/2000/alien" '------------------------------------------------------------------------- sAttributeSearch(1) = "xmlns:alien" sAttributeValue(1) = "http://openoffice.org/2000/alien" printlog "++ Feature(s) to be searched for:" printlog " |" '------------------------------------------------------------------------- SAXSeekElement("office:document-styles") printlog " +- " & sAttributeSearch(1) if SAXGetAttributeValue(sAttributeSearch(1)) <> sAttributeValue(1) then warnlog "Hidden attributes (in namespace): " & sAttributeSearch(1) & " is not " & sAttributeValue(1) & "!" end if printlog " * * *" SAXSeekElement("/") printlog "----------------------------------------" printlog "Hidden attributes in a master-page style" printlog "----------------------------------------" '------------------------------------------------------------------------- '/// hidden attributes '///+
  1. in a master-page style
'///+ Searching for: alien:key="master-page" '------------------------------------------------------------------------- sAttributeSearch(1) = "alien:key" sAttributeValue(1) = "master-page" printlog "++ Feature(s) to be searched for:" printlog " |" '------------------------------------------------------------------------- SAXSeekElement("office:document-styles") SAXSeekElement("office:automatic-styles") SAXSeekElement("style:style") SAXSeekElement("style:drawing-page-properties") printlog " +- " & sAttributeSearch(1) if SAXGetAttributeValue(sAttributeSearch(1)) <> sAttributeValue(1) then warnlog "Hidden attributes (in master-page style): " & sAttributeSearch(1) & " is not " & sAttributeValue(1) & "!" end if printlog " * * *" '------------------------------------------------------------------------- SAXRelease() else warnlog "One of the XML files not well formed!" end if end if end if else warnlog "It was not possible to save the document as XML!" end if endcase '------------------------------------------------------------------------- testcase t_all_header_footer Dim iPresAttr as integer Dim sAttributeSearch(4) as string Dim sAttributeValue(4) as string Dim sHeaderInNotes as string printlog "+- Presentation: allheaderfooter_fixed.odp" '/// Opening xml\required\input\graphics\header_footer\allheaderfooter_fixed.odp. call hFileOpen (gTesttoolPath & ConvertPath("xml\required\input\graphics\header_footer\allheaderfooter_fixed.odp")) '/// Saving document as user\work\xml\graphics\update\allheaderfooter_fixed.odp with default presentation document name. if hFileSaveAsWithFilterKill (gOfficePath & ConvertPath("user\work\xml\graphics\update\allheaderfooter_fixed.odp") , "impress8") = TRUE then '/// Closing document. call hCloseDocument '/// Unpacking the compressed (ZIP) archive. Putting the content to user\work\xml\graphics\update\allheaderfooter_fixed\" UnpackStorage( gOfficePath & ConvertPath("user\work\xml\graphics\update\allheaderfooter_fixed.odp") , gOfficePath & ConvertPath("user\work\xml\graphics\update\allheaderfooter_fixed\") ) '/// Verifying the well-formness of styles.xml, content.xml and meta.xml. '///+ Only if the three XML files are well formed the next checks (GPF-check, attribute-search) will be started. if XMLWellformed (gOfficePath & ConvertPath("user\work\xml\graphics\update\allheaderfooter_fixed\styles.xml")) = TRUE then if XMLWellformed (gOfficePath & ConvertPath("user\work\xml\graphics\update\allheaderfooter_fixed\meta.xml")) = TRUE then if XMLWellformed (gOfficePath & ConvertPath("user\work\xml\graphics\update\allheaderfooter_fixed\content.xml")) = TRUE then '/// Opening exported document (GPF check). /// call hFileOpen (gOfficePath & ConvertPath("user\work\xml\graphics\update\allheaderfooter_fixed.odp") sleep(2) '/// Closing document. /// call hCloseDocument sleep(2) '/// content.xml '/// Opening user\work\xml\graphics\update\allheaderfooter_fixed\content.xml with SAX parser. '/// Searching for sAttributeSearch(1) = "presentation:header-decl" sAttributeValue(1) = "Header in notes/handout powered by QA" sAttributeSearch(2) = "presentation:footer-decl" sAttributeValue(2) = "footer powered by QA" sAttributeSearch(3) = "presentation:footer-decl" sAttributeValue(3) = "Footer notes/handout powered by QA" sAttributeSearch(4) = "presentation:date-time-decl" sAttributeValue(4) = "09.12.2001" SAXReadFile(gOfficePath & ConvertPath("user\work\xml\graphics\update\allheaderfooter_fixed\content.xml")) for iPresAttr = 1 to 4 '/// Parsing to office:document-content SAXSeekElement("office:document-content") '/// Parsing to office:body SAXSeekElement("office:body") '/// Parsing to office:presentation SAXSeekElement("office:presentation") '/// Parsing to
  1. presentation:header-decl
  2. '///+
  3. presentation:footer-decl
  4. '///+
  5. presentation:footer-decl
  6. '///+
  7. presentation:date-time-decl
if iPresAttr = 3 then 'To reach the second 'presentation:footer-decl'-element an additional parameter is needed. SAXSeekElement(sAttributeSearch(iPresAttr) , 2) else SAXSeekElement(sAttributeSearch(iPresAttr)) end if '/// Parsing 1 node deeper (to get the CharNode) SAXSeekElement(1) '/// Reading the characters of the CharNode and verifying it against the reference. ' Initializing the variable (empty) sHeaderInNotes = "" sHeaderInNotes = SAXGetChars if sHeaderInNotes <> sAttributeValue(iPresAttr) then warnlog "Failed! - Attribute '" & sAttributeSearch(iPresAttr) & "' has the value '" & sHeaderInNotes & "' but it has to be '" & sAttributeValue(iPresAttr) & "'." else printlog "Passed. - Attribute '" & sAttributeSearch(iPresAttr) & "' has the correct value '" & sHeaderInNotes & "'." end if SAXSeekElement("/") next iPresAttr SAXRelease() else warnlog "One of the XML files not well formed!" end if end if end if else warnlog "It was not possible to save the document as XML!" end if endcase '------------------------------------------------------------------------- testcase t_no_header_footer Dim sDrawName as string Dim sElementName as string Dim sAttributeSearch(3) as string Dim sAttributeValue as string Dim i as integer Dim iChildsOfAutomaticStyles as integer printlog "+- Presentation: noheaderfooter.odp" '/// Opening xml\required\input\graphics\header_footer\noheaderfooter.odp. call hFileOpen (gTesttoolPath & ConvertPath("xml\required\input\graphics\header_footer\noheaderfooter.odp")) '/// Saving document as user\work\xml\graphics\update\noheaderfooter.odp with default presentation document name. if hFileSaveAsWithFilterKill (gOfficePath & ConvertPath("user\work\xml\graphics\update\noheaderfooter.odp") , "impress8") = TRUE then '/// Closing document. /// call hCloseDocument '/// Unpacking the compressed (ZIP) archive. UnpackStorage( gOfficePath & ConvertPath("user\work\xml\graphics\update\noheaderfooter.odp") , gOfficePath & ConvertPath("user\work\xml\graphics\update\noheaderfooter\") ) '/// Verifying the well-formness of styles.xml, content.xml and meta.xml. '///+ Only if the three XML files are well formed the next checks (GPF-check, attribute-search) will be started. if XMLWellformed (gOfficePath & ConvertPath("user\work\xml\graphics\update\noheaderfooter\styles.xml")) = TRUE then if XMLWellformed (gOfficePath & ConvertPath("user\work\xml\graphics\update\noheaderfooter\meta.xml")) = TRUE then if XMLWellformed (gOfficePath & ConvertPath("user\work\xml\graphics\update\noheaderfooter\content.xml")) = TRUE then '/// Opening exported document (GPF check). /// call hFileOpen (gOfficePath & ConvertPath("user\work\xml\graphics\update\noheaderfooter.odp") sleep(2) '/// Closing document. /// call hCloseDocument sleep(2) '/// Opening user\work\xml\graphics\update\noheaderfooter\content.xml with SAX-parser. SAXReadFile(gOfficePath & ConvertPath("user\work\xml\graphics\update\noheaderfooter\content.xml")) '///
    '///+
  1. Parsing to office:document-content SAXSeekElement("office:document-content") '///+ Parsing to office:body SAXSeekElement("office:body") '///+ Parsing to office:presentation SAXSeekElement("office:presentation") '///+ Parsing to draw:page SAXSeekElement("draw:page") '///+ Get value of draw:style-name sDrawName = "" sDrawName = SAXGetAttributeValue ("draw:style-name") '///+ Get back to the top of DOM
  2. SAXSeekElement("/") '///+
  3. Parsing to office:document-content SAXSeekElement("office:document-content") '///+ Parsing to office:automatic-styles SAXSeekElement("office:automatic-styles") '///+ Look where the style:style element is where the style:name is the same as it was for draw:name iChildsOfAutomaticStyles = SAXGetChildCount 'The count of style:style nodes is normaly 7 but the 8th is a text:list-style where 'the searched attributes won't be included. for i = 1 to (iChildsOfAutomaticStyles-1) SAXSeekElement("style:style" , i) sElementName = SAXGetAttributeValue("style:name") if sElementName = sDrawName then '///+ If found the named attribute (e.g. dp1) parsing to style:drawing-page-properties. SAXSeekElement("style:drawing-page-properties") exit for end if if i = iChildsOfAutomaticStyles then '///+ If the style:name is not found a warnlog will be written into the log and the test will be stopped. warnlog "Failed! The style:style='" & sDrawName & "' has not been found in the automatic-styles! Test will be aborted here!" SAXRelease() goto endsub end if 'Go one node to the parent node. SAXSeekElement(0) next i '///+Parsing to
    1. presentation:display-footer
    2. '///+
    3. presentation:footer-decl
    4. '///+
    5. presentation:display-page-number
    6. '///+
    7. presentation:display-date-time
    sAttributeSearch(1) = "presentation:display-footer" sAttributeSearch(2) = "presentation:display-page-number" sAttributeSearch(3) = "presentation:display-date-time" for i = 1 to 3 sAttributeValue = SAXGetAttributeValue(sAttributeSearch(i)) '///+ Verifying that the value of each attribute is 'false'.
if sAttributeValue <> "false" then warnlog "Failed! The value of '" & sAttributeSearch(i) & "' is NOT 'false'!" else printlog "Passed. The value of '" & sAttributeSearch(i) & "' is 'false'." end if next i SAXRelease() else warnlog "One of the XML files not well formed!" end if end if end if else warnlog "It was not possible to save the document as XML!" end if endcase '------------------------------------------------------------------------- testcase t_no_header_footer_master_elements printlog "+- Presentation: nomasterelements.odp" '/// Opening xml\required\input\graphics\header_footer\nomasterelements.odp. call hFileOpen (gTesttoolPath & ConvertPath("xml\required\input\graphics\header_footer\nomasterelements.odp")) '/// Saving document as user\work\xml\graphics\update\nomasterelements.odp with default presentation document name. if hFileSaveAsWithFilterKill (gOfficePath & ConvertPath("user\work\xml\graphics\update\nomasterelements.odp") , "impress8") = TRUE then '/// Closing document. /// call hCloseDocument '/// Unpacking the compressed (ZIP) archive. UnpackStorage( gOfficePath & ConvertPath("user\work\xml\graphics\update\nomasterelements.odp") , gOfficePath & ConvertPath("user\work\xml\graphics\update\nomasterelements\") ) '/// Verifying the well-formness of styles.xml, content.xml and meta.xml. '///+ Only if the three XML files are well formed the next checks (GPF-check, attribute-search) will be started. if XMLWellformed (gOfficePath & ConvertPath("user\work\xml\graphics\update\nomasterelements\styles.xml")) = TRUE then if XMLWellformed (gOfficePath & ConvertPath("user\work\xml\graphics\update\nomasterelements\meta.xml")) = TRUE then if XMLWellformed (gOfficePath & ConvertPath("user\work\xml\graphics\update\nomasterelements\content.xml")) = TRUE then '/// Opening exported document (GPF check). /// call hFileOpen (gOfficePath & ConvertPath("user\work\xml\graphics\update\nomasterelements.odp") sleep(2) '/// Closing document. /// call hCloseDocument sleep(2) else warnlog "One of the XML files not well formed!" end if end if end if else warnlog "It was not possible to save the document as XML!" end if endcase '------------------------------------------------------------------------- testcase t_some_header_footer Dim sDrawName as string Dim sElementName as string Dim sAttributeSearch(4) as string Dim sAttributeValue as string Dim i as integer Dim iChildsOfAutomaticStyles as integer Dim iLoopSearch as integer printlog "+- Presentation: someheaderfooter_varible.odp" '/// Opening xml\required\input\graphics\header_footer\someheaderfooter_varible.odp. call hFileOpen (gTesttoolPath & ConvertPath("xml\required\input\graphics\header_footer\someheaderfooter_varible.odp")) '/// Saving document as user\work\xml\graphics\update\someheaderfooter_varible.odp with default presentation document name. if hFileSaveAsWithFilterKill (gOfficePath & ConvertPath("user\work\xml\graphics\update\someheaderfooter_varible.odp") , "impress8") = TRUE then '/// Closing document. /// call hCloseDocument '/// Unpacking the compressed (ZIP) archive. UnpackStorage( gOfficePath & ConvertPath("user\work\xml\graphics\update\someheaderfooter_varible.odp") , gOfficePath & ConvertPath("user\work\xml\graphics\update\someheaderfooter_varible\") ) '/// Verifying the well-formness of styles.xml, content.xml and meta.xml. '///+ Only if the three XML files are well formed the next checks (GPF-check, attribute-search) will be started. if XMLWellformed (gOfficePath & ConvertPath("user\work\xml\graphics\update\someheaderfooter_varible\styles.xml")) = TRUE then if XMLWellformed (gOfficePath & ConvertPath("user\work\xml\graphics\update\someheaderfooter_varible\meta.xml")) = TRUE then if XMLWellformed (gOfficePath & ConvertPath("user\work\xml\graphics\update\someheaderfooter_varible\content.xml")) = TRUE then '/// Opening exported document (GPF check). /// call hFileOpen (gOfficePath & ConvertPath("user\work\xml\graphics\update\someheaderfooter_varible.odp") sleep(2) '/// Closing document. /// call hCloseDocument sleep(2) '/// Opening user\work\xml\graphics\update\noheaderfooter\content.xml with SAX-parser. SAXReadFile(gOfficePath & ConvertPath("user\work\xml\graphics\update\someheaderfooter_varible\content.xml")) '///
    '///+
  1. Parsing to office:document-content For iLoopSearch = 1 to 2 SAXSeekElement("office:document-content") '///+ Parsing to office:body SAXSeekElement("office:body") '///+ Parsing to office:presentation SAXSeekElement("office:presentation") '///+ Parsing to draw:page SAXSeekElement("draw:page") '///+ In second loop enter presentation:notes node if iLoopSearch = 2 then SAXSeekElement("presentation:notes") end if '///+ Get value of draw:style-name sDrawName = "" sDrawName = SAXGetAttributeValue ("draw:style-name") '///+ Get back to the top of DOM SAXSeekElement("/") '///+
  2. Parsing to office:document-content SAXSeekElement("office:document-content") '///+ Parsing to office:automatic-styles SAXSeekElement("office:automatic-styles") '///+ Look where the style:style element is where the style:name is the same as it was for draw:name iChildsOfAutomaticStyles = SAXGetChildCount 'The count of style:style nodes is normaly 7 but the 8th is a text:list-style where 'the searched attributes won't be included. for i = 1 to (iChildsOfAutomaticStyles-1) SAXSeekElement("style:style" , i) sElementName = SAXGetAttributeValue("style:name") if sElementName = sDrawName then '///+ If found the named attribute (e.g. dp1) parsing to style:drawing-page-properties. SAXSeekElement("style:drawing-page-properties") exit for end if if i = iChildsOfAutomaticStyles then '///+ If the style:name is not found a warnlog will be written into the log and the test will be stopped. warnlog "Failed! The style:style='" & sDrawName & "' has not been found in the automatic-styles! Test will be aborted here!" SAXRelease() goto endsub end if 'Go one node to the parent node. SAXSeekElement(0) next i if iLoopSearch = 1 then '///+Parsing to
      '///+
    1. presentation:display-footer
    2. '///+
    3. presentation:footer-decl
    4. '///+
    5. presentation:display-page-number
    6. '///+
    7. presentation:display-date-time
    sAttributeSearch(1) = "presentation:display-footer" sAttributeSearch(2) = "presentation:display-page-number" sAttributeSearch(3) = "presentation:display-date-time" for i = 1 to 3 sAttributeValue = SAXGetAttributeValue(sAttributeSearch(i)) '/// Verifying that the value of presentation:display-footer attribute is 'false'. if i = 1 then if sAttributeValue <> "false" then warnlog "Failed! The value of '" & sAttributeSearch(i) & "' is NOT 'false'!" else printlog "Passed. The value of '" & sAttributeSearch(i) & "' is 'false'." end if else '///+ Verifying that the values of presentation:display-page-number and presentation:display-date-time attribute are 'true'. if sAttributeValue <> "true" then warnlog "Failed! The value of '" & sAttributeSearch(i) & "' is NOT 'true'!" else printlog "Passed. The value of '" & sAttributeSearch(i) & "' is 'true'." end if end if next i '///+ Get back to the top of DOM SAXSeekElement("/") end if if iLoopSearch = 2 then '///+Parsing to second page-style attributes
      '///+
    1. presentation:display-header
    2. '///+
    3. presentation:display-footer
    4. '///+
    5. presentation:display-page-number
    6. '///+
    7. presentation:display-date-time
    sAttributeSearch(1) = "presentation:display-header" sAttributeSearch(2) = "presentation:display-footer" sAttributeSearch(3) = "presentation:display-page-number" sAttributeSearch(4) = "presentation:display-date-time" for i = 1 to 4 sAttributeValue = SAXGetAttributeValue(sAttributeSearch(i)) '/// Verifying that the value of presentation:display-page-number and presentation:display-date-time attributes is 'false'. if i = 3 OR i = 4 then if sAttributeValue <> "false" then warnlog "Failed! The value of '" & sAttributeSearch(i) & "' is NOT 'false'!" else printlog "Passed. The value of '" & sAttributeSearch(i) & "' is 'false'." end if else '///+ Verifying that the values of presentation:display-header and presentation:display-footer attribute are 'true'. if sAttributeValue <> "true" then warnlog "Failed! The value of '" & sAttributeSearch(i) & "' is NOT 'true'!" else printlog "Passed. The value of '" & sAttributeSearch(i) & "' is 'true'." end if end if next i end if next iLoopSearch SAXRelease() else warnlog "One of the XML files not well formed!" end if end if end if else warnlog "It was not possible to save the document as XML!" end if endcase '-------------------------------------------------------------------------