pbwest 2004/01/21 03:01:31 Modified: src/java/org/apache/fop/fo/flow Tag: FOP_0-20-0_Alt-Design FoBidiOverride.java FoTableCell.java FoTableBody.java FoBlockContainer.java FoMultiCase.java FoListBlock.java FoMultiToggle.java FoTableRow.java FoTableAndCaption.java FoListItemLabel.java FoTableHeader.java FoBlock.java FoListItemBody.java FoInline.java FoTitle.java FoTableCaption.java FoBasicLink.java FoFlow.java FoTableFooter.java FoInlineContainer.java Log: Handling of markers introduced or modified to use getMarkers. Revision Changes Path No revision No revision 1.1.2.7 +3 -2 xml-fop/src/java/org/apache/fop/fo/flow/Attic/FoBidiOverride.java Index: FoBidiOverride.java =================================================================== RCS file: /home/cvs/xml-fop/src/java/org/apache/fop/fo/flow/Attic/FoBidiOverride.java,v retrieving revision 1.1.2.6 retrieving revision 1.1.2.7 diff -u -r1.1.2.6 -r1.1.2.7 --- FoBidiOverride.java 20 Jan 2004 05:57:08 -0000 1.1.2.6 +++ FoBidiOverride.java 21 Jan 2004 11:01:30 -0000 1.1.2.7 @@ -144,6 +144,7 @@ { super(foTree, FObjectNames.BIDI_OVERRIDE, parent, event, stateFlags, sparsePropsMap, sparseIndices); + getMarkers(); XmlEvent ev = null; do { try { 1.1.2.7 +3 -2 xml-fop/src/java/org/apache/fop/fo/flow/Attic/FoTableCell.java Index: FoTableCell.java =================================================================== RCS file: /home/cvs/xml-fop/src/java/org/apache/fop/fo/flow/Attic/FoTableCell.java,v retrieving revision 1.1.2.6 retrieving revision 1.1.2.7 diff -u -r1.1.2.6 -r1.1.2.7 --- FoTableCell.java 20 Jan 2004 05:57:08 -0000 1.1.2.6 +++ FoTableCell.java 21 Jan 2004 11:01:30 -0000 1.1.2.7 @@ -154,6 +154,7 @@ { super(foTree, FObjectNames.TABLE_CELL, parent, event, stateFlags, sparsePropsMap, sparseIndices); + getMarkers(); XmlEvent ev = null; try { // Get at least one %block; 1.1.2.7 +5 -16 xml-fop/src/java/org/apache/fop/fo/flow/Attic/FoTableBody.java Index: FoTableBody.java =================================================================== RCS file: /home/cvs/xml-fop/src/java/org/apache/fop/fo/flow/Attic/FoTableBody.java,v retrieving revision 1.1.2.6 retrieving revision 1.1.2.7 diff -u -r1.1.2.6 -r1.1.2.7 --- FoTableBody.java 20 Jan 2004 05:57:07 -0000 1.1.2.6 +++ FoTableBody.java 21 Jan 2004 11:01:30 -0000 1.1.2.7 @@ -125,9 +125,6 @@ } } - /** The number of markers on this FO. */ - private int numMarkers = 0; - /** The number of table-rows on this FO. */ private int numRows = 0; @@ -158,19 +155,11 @@ { super(foTree, FObjectNames.TABLE_BODY, parent, event, stateFlags, sparsePropsMap, sparseIndices); - XmlEvent ev; // Look for zero or more markers - String nowProcessing = "marker"; + getMarkers(); + XmlEvent ev; + String nowProcessing; try { - while ((ev = xmlevents.expectStartElement - (FObjectNames.MARKER, XmlEvent.DISCARD_W_SPACE)) - != null) { - new FoMarker(getFOTree(), this, (FoXmlEvent)ev, stateFlags); - numMarkers++; - ev = xmlevents.getEndElement(XmlEventReader.DISCARD_EV, ev); - namespaces.relinquishEvent(ev); - } - // Look for one or more table-rows nowProcessing = "table-row"; while ((ev = xmlevents.expectStartElement 1.1.2.7 +3 -2 xml-fop/src/java/org/apache/fop/fo/flow/Attic/FoBlockContainer.java Index: FoBlockContainer.java =================================================================== RCS file: /home/cvs/xml-fop/src/java/org/apache/fop/fo/flow/Attic/FoBlockContainer.java,v retrieving revision 1.1.2.6 retrieving revision 1.1.2.7 diff -u -r1.1.2.6 -r1.1.2.7 --- FoBlockContainer.java 20 Jan 2004 05:57:08 -0000 1.1.2.6 +++ FoBlockContainer.java 21 Jan 2004 11:01:30 -0000 1.1.2.7 @@ -159,6 +159,7 @@ // absolutely positioned areas. They are not allowed as descendents // of fo:title, fo:float or fo:footnote. They are not allowed to // have any fo:marker children. + getMarkers(); XmlEvent ev = null; try { // Get at least one %block; 1.1.2.7 +6 -2 xml-fop/src/java/org/apache/fop/fo/flow/Attic/FoMultiCase.java Index: FoMultiCase.java =================================================================== RCS file: /home/cvs/xml-fop/src/java/org/apache/fop/fo/flow/Attic/FoMultiCase.java,v retrieving revision 1.1.2.6 retrieving revision 1.1.2.7 diff -u -r1.1.2.6 -r1.1.2.7 --- FoMultiCase.java 20 Jan 2004 05:57:07 -0000 1.1.2.6 +++ FoMultiCase.java 21 Jan 2004 11:01:30 -0000 1.1.2.7 @@ -141,6 +141,10 @@ super(foTree, FObjectNames.MULTI_CASE, parent, event, stateFlags, sparsePropsMap, sparseIndices); stateFlags |= FONode.MC_MULTI_CASE; + if (getMarkers() != 0) { + throw new FOPException( + "fo:marker illegal as child of fo:multi-case"); + } XmlEvent ev = null; do { try { 1.1.2.7 +4 -16 xml-fop/src/java/org/apache/fop/fo/flow/Attic/FoListBlock.java Index: FoListBlock.java =================================================================== RCS file: /home/cvs/xml-fop/src/java/org/apache/fop/fo/flow/Attic/FoListBlock.java,v retrieving revision 1.1.2.6 retrieving revision 1.1.2.7 diff -u -r1.1.2.6 -r1.1.2.7 --- FoListBlock.java 20 Jan 2004 05:57:07 -0000 1.1.2.6 +++ FoListBlock.java 21 Jan 2004 11:01:30 -0000 1.1.2.7 @@ -130,9 +130,6 @@ } } - /** The number of markers on this FO. */ - private int numMarkers = 0; - /** The number of list-items on this FO. */ private int numItems = 0; @@ -157,18 +154,9 @@ stateFlags, sparsePropsMap, sparseIndices); XmlEvent ev; // Look for zero or more markers - String nowProcessing = "marker"; + getMarkers(); + String nowProcessing; try { - while ((ev = xmlevents.expectStartElement - (FObjectNames.MARKER, XmlEvent.DISCARD_W_SPACE)) - != null) { - new FoMarker(getFOTree(), this, (FoXmlEvent)ev, stateFlags); - numMarkers++; - ev = xmlevents.getEndElement( - XmlEventReader.DISCARD_EV, ev); - namespaces.relinquishEvent(ev); - } - // Look for one or more table-rows nowProcessing = "list-item"; while ((ev = xmlevents.expectStartElement 1.1.2.7 +31 -27 xml-fop/src/java/org/apache/fop/fo/flow/Attic/FoMultiToggle.java Index: FoMultiToggle.java =================================================================== RCS file: /home/cvs/xml-fop/src/java/org/apache/fop/fo/flow/Attic/FoMultiToggle.java,v retrieving revision 1.1.2.6 retrieving revision 1.1.2.7 diff -u -r1.1.2.6 -r1.1.2.7 --- FoMultiToggle.java 20 Jan 2004 05:57:08 -0000 1.1.2.6 +++ FoMultiToggle.java 21 Jan 2004 11:01:30 -0000 1.1.2.7 @@ -138,34 +138,38 @@ super(foTree, FObjectNames.MULTI_TOGGLE, parent, event, stateFlags, sparsePropsMap, sparseIndices); XmlEvent ev = null; - if ((stateFlags & FONode.MC_MULTI_CASE) != 0) - do { - try { - if ((stateFlags & FONode.MC_OUT_OF_LINE) == 0) - ev = xmlevents.expectPcdataOrInlineOrBlock(); - else - ev = xmlevents.expectOutOfLinePcdataOrInlineOrBlock(); - if (ev != null) { - // Generate the flow object - //System.out.println("Generating flow object for " + ev); - FObjects.fobjects.makeFlowObject - (foTree, this, ev, stateFlags); - if (ev.getType() != XmlEvent.CHARACTERS) { - ev = xmlevents.getEndElement( - XmlEventReader.DISCARD_EV, ev); + if ((stateFlags & FONode.MC_MULTI_CASE) != 0) { + do { + try { + if ((stateFlags & FONode.MC_OUT_OF_LINE) == 0) + ev = xmlevents.expectPcdataOrInlineOrBlock(); + else + ev = xmlevents.expectOutOfLinePcdataOrInlineOrBlock(); + if (ev != null) { + // Generate the flow object + FObjects.fobjects.makeFlowObject + (foTree, this, ev, stateFlags); + if (ev.getType() != XmlEvent.CHARACTERS) { + ev = xmlevents.getEndElement( + XmlEventReader.DISCARD_EV, ev); + } + namespaces.relinquishEvent(ev); } + } catch(UnexpectedStartElementException e) { + ev = xmlevents.getStartElement(); + MessageHandler.logln + ("Ignoring unexpected Start Element: " + + ev.getQName()); + ev = xmlevents.getEndElement( + XmlEventReader.DISCARD_EV, ev); namespaces.relinquishEvent(ev); } - } catch(UnexpectedStartElementException e) { - ev = xmlevents.getStartElement(); - MessageHandler.logln - ("Ignoring unexpected Start Element: " - + ev.getQName()); - ev = xmlevents.getEndElement( - XmlEventReader.DISCARD_EV, ev); - namespaces.relinquishEvent(ev); - } - } while (ev != null); + } while (ev != null); + } else { + throw new FOPException( + "fo:multi-toggle only permitted as a descendant of " + + "fo:multi-case"); + } makeSparsePropsSet(); } 1.1.2.7 +2 -10 xml-fop/src/java/org/apache/fop/fo/flow/Attic/FoTableRow.java Index: FoTableRow.java =================================================================== RCS file: /home/cvs/xml-fop/src/java/org/apache/fop/fo/flow/Attic/FoTableRow.java,v retrieving revision 1.1.2.6 retrieving revision 1.1.2.7 diff -u -r1.1.2.6 -r1.1.2.7 --- FoTableRow.java 20 Jan 2004 05:57:08 -0000 1.1.2.6 +++ FoTableRow.java 21 Jan 2004 11:01:30 -0000 1.1.2.7 @@ -155,10 +155,7 @@ super(foTree, FObjectNames.TABLE_ROW, parent, event, stateFlags, sparsePropsMap, sparseIndices); XmlEvent ev; - // Look for zero or more markers - String nowProcessing = "table-cell"; try { - nowProcessing = "table-cell"; if ((ev = xmlevents.expectStartElement (FObjectNames.TABLE_CELL, XmlEvent.DISCARD_W_SPACE)) != null) { @@ -174,11 +171,6 @@ ("No table-cell in table-row."); firstCellOffset = 0; - /* - } catch (NoSuchElementException e) { - throw new FOPException - ("Unexpected EOF while processing " + nowProcessing + "."); - */ } catch(TreeException e) { throw new FOPException("TreeException: " + e.getMessage()); } catch(PropertyException e) { 1.1.2.7 +5 -16 xml-fop/src/java/org/apache/fop/fo/flow/Attic/FoTableAndCaption.java Index: FoTableAndCaption.java =================================================================== RCS file: /home/cvs/xml-fop/src/java/org/apache/fop/fo/flow/Attic/FoTableAndCaption.java,v retrieving revision 1.1.2.6 retrieving revision 1.1.2.7 diff -u -r1.1.2.6 -r1.1.2.7 --- FoTableAndCaption.java 20 Jan 2004 05:57:08 -0000 1.1.2.6 +++ FoTableAndCaption.java 21 Jan 2004 11:01:30 -0000 1.1.2.7 @@ -130,9 +130,6 @@ } } - /** The number of markers on this FO. */ - private int numMarkers = 0; - /** The offset of table-caption within the children. */ private int captionOffset = -1; @@ -159,18 +156,10 @@ stateFlags, sparsePropsMap, sparseIndices); XmlEvent ev; // Look for zero or more markers - String nowProcessing = "marker"; + // Markers are cleaned up within the <code>getMarkers</code> method + getMarkers(); + String nowProcessing; try { - while ((ev = xmlevents.expectStartElement - (FObjectNames.MARKER, XmlEvent.DISCARD_W_SPACE)) - != null) { - new FoMarker(getFOTree(), this, (FoXmlEvent)ev, stateFlags); - numMarkers++; - ev = xmlevents.getEndElement( - XmlEventReader.DISCARD_EV, ev); - namespaces.relinquishEvent(ev); - } - // Look for optional table-caption nowProcessing = "table-caption"; if ((ev = xmlevents.expectStartElement 1.1.2.7 +3 -2 xml-fop/src/java/org/apache/fop/fo/flow/Attic/FoListItemLabel.java Index: FoListItemLabel.java =================================================================== RCS file: /home/cvs/xml-fop/src/java/org/apache/fop/fo/flow/Attic/FoListItemLabel.java,v retrieving revision 1.1.2.6 retrieving revision 1.1.2.7 diff -u -r1.1.2.6 -r1.1.2.7 --- FoListItemLabel.java 20 Jan 2004 05:57:08 -0000 1.1.2.6 +++ FoListItemLabel.java 21 Jan 2004 11:01:30 -0000 1.1.2.7 @@ -135,6 +135,7 @@ { super(foTree, FObjectNames.LIST_ITEM_LABEL, parent, event, stateFlags, sparsePropsMap, sparseIndices); + getMarkers(); XmlEvent ev = null; try { // Get at least one %block; 1.1.2.7 +5 -7 xml-fop/src/java/org/apache/fop/fo/flow/Attic/FoTableHeader.java Index: FoTableHeader.java =================================================================== RCS file: /home/cvs/xml-fop/src/java/org/apache/fop/fo/flow/Attic/FoTableHeader.java,v retrieving revision 1.1.2.6 retrieving revision 1.1.2.7 diff -u -r1.1.2.6 -r1.1.2.7 --- FoTableHeader.java 20 Jan 2004 05:57:08 -0000 1.1.2.6 +++ FoTableHeader.java 21 Jan 2004 11:01:30 -0000 1.1.2.7 @@ -125,9 +125,6 @@ } } - /** The number of markers on this FO. */ - private int numMarkers = 0; - /** The number of table-rows on this FO. */ private int numRows = 0; @@ -158,9 +155,10 @@ { super(foTree, FObjectNames.TABLE_HEADER, parent, event, stateFlags, sparsePropsMap, sparseIndices); - XmlEvent ev; // Look for zero or more markers - String nowProcessing = "marker"; + getMarkers(); + XmlEvent ev; + String nowProcessing; try { while ((ev = xmlevents.expectStartElement (FObjectNames.MARKER, XmlEvent.DISCARD_W_SPACE)) 1.1.2.7 +3 -2 xml-fop/src/java/org/apache/fop/fo/flow/Attic/FoBlock.java Index: FoBlock.java =================================================================== RCS file: /home/cvs/xml-fop/src/java/org/apache/fop/fo/flow/Attic/FoBlock.java,v retrieving revision 1.1.2.6 retrieving revision 1.1.2.7 diff -u -r1.1.2.6 -r1.1.2.7 --- FoBlock.java 20 Jan 2004 05:57:08 -0000 1.1.2.6 +++ FoBlock.java 21 Jan 2004 11:01:30 -0000 1.1.2.7 @@ -169,6 +169,7 @@ { super(foTree, FObjectNames.BLOCK, parent, event, stateFlags, sparsePropsMap, sparseIndices); + getMarkers(); XmlEvent ev = null; do { try { 1.1.2.7 +3 -2 xml-fop/src/java/org/apache/fop/fo/flow/Attic/FoListItemBody.java Index: FoListItemBody.java =================================================================== RCS file: /home/cvs/xml-fop/src/java/org/apache/fop/fo/flow/Attic/FoListItemBody.java,v retrieving revision 1.1.2.6 retrieving revision 1.1.2.7 diff -u -r1.1.2.6 -r1.1.2.7 --- FoListItemBody.java 20 Jan 2004 05:57:08 -0000 1.1.2.6 +++ FoListItemBody.java 21 Jan 2004 11:01:30 -0000 1.1.2.7 @@ -135,6 +135,7 @@ { super(foTree, FObjectNames.LIST_ITEM_BODY, parent, event, stateFlags, sparsePropsMap, sparseIndices); + getMarkers(); XmlEvent ev = null; try { // Get at least one %block; 1.1.2.7 +3 -2 xml-fop/src/java/org/apache/fop/fo/flow/Attic/FoInline.java Index: FoInline.java =================================================================== RCS file: /home/cvs/xml-fop/src/java/org/apache/fop/fo/flow/Attic/FoInline.java,v retrieving revision 1.1.2.6 retrieving revision 1.1.2.7 diff -u -r1.1.2.6 -r1.1.2.7 --- FoInline.java 20 Jan 2004 05:57:08 -0000 1.1.2.6 +++ FoInline.java 21 Jan 2004 11:01:30 -0000 1.1.2.7 @@ -158,6 +158,7 @@ { super(foTree, FObjectNames.INLINE, parent, event, stateFlags, sparsePropsMap, sparseIndices); + getMarkers(); XmlEvent ev = null; do { try { 1.1.2.7 +6 -2 xml-fop/src/java/org/apache/fop/fo/flow/Attic/FoTitle.java Index: FoTitle.java =================================================================== RCS file: /home/cvs/xml-fop/src/java/org/apache/fop/fo/flow/Attic/FoTitle.java,v retrieving revision 1.1.2.6 retrieving revision 1.1.2.7 diff -u -r1.1.2.6 -r1.1.2.7 --- FoTitle.java 20 Jan 2004 05:57:07 -0000 1.1.2.6 +++ FoTitle.java 21 Jan 2004 11:01:30 -0000 1.1.2.7 @@ -142,6 +142,10 @@ { super(foTree, FObjectNames.TITLE, parent, event, FONode.TITLE_SET, sparsePropsMap, sparseIndices); + if (getMarkers() != 0) { + throw new FOPException( + "fo:marker illegal as child of fo:title"); + } XmlEvent ev = null; do { try { 1.1.2.7 +3 -2 xml-fop/src/java/org/apache/fop/fo/flow/Attic/FoTableCaption.java Index: FoTableCaption.java =================================================================== RCS file: /home/cvs/xml-fop/src/java/org/apache/fop/fo/flow/Attic/FoTableCaption.java,v retrieving revision 1.1.2.6 retrieving revision 1.1.2.7 diff -u -r1.1.2.6 -r1.1.2.7 --- FoTableCaption.java 20 Jan 2004 05:57:08 -0000 1.1.2.6 +++ FoTableCaption.java 21 Jan 2004 11:01:30 -0000 1.1.2.7 @@ -145,6 +145,7 @@ { super(foTree, FObjectNames.TABLE_CAPTION, parent, event, stateFlags, sparsePropsMap, sparseIndices); + getMarkers(); XmlEvent ev = null; try { // Get at least one %block; 1.1.2.7 +3 -2 xml-fop/src/java/org/apache/fop/fo/flow/Attic/FoBasicLink.java Index: FoBasicLink.java =================================================================== RCS file: /home/cvs/xml-fop/src/java/org/apache/fop/fo/flow/Attic/FoBasicLink.java,v retrieving revision 1.1.2.6 retrieving revision 1.1.2.7 diff -u -r1.1.2.6 -r1.1.2.7 --- FoBasicLink.java 20 Jan 2004 05:57:08 -0000 1.1.2.6 +++ FoBasicLink.java 21 Jan 2004 11:01:30 -0000 1.1.2.7 @@ -157,6 +157,7 @@ { super(foTree, FObjectNames.BASIC_LINK, parent, event, stateFlags, sparsePropsMap, sparseIndices); + getMarkers(); XmlEvent ev = null; do { try { 1.1.2.7 +3 -2 xml-fop/src/java/org/apache/fop/fo/flow/Attic/FoFlow.java Index: FoFlow.java =================================================================== RCS file: /home/cvs/xml-fop/src/java/org/apache/fop/fo/flow/Attic/FoFlow.java,v retrieving revision 1.1.2.6 retrieving revision 1.1.2.7 diff -u -r1.1.2.6 -r1.1.2.7 --- FoFlow.java 20 Jan 2004 05:57:07 -0000 1.1.2.6 +++ FoFlow.java 21 Jan 2004 11:01:30 -0000 1.1.2.7 @@ -122,6 +122,7 @@ { super(foTree, FObjectNames.FLOW, parent, event, FONode.FLOW_SET, sparsePropsMap, sparseIndices); + getMarkers(); XmlEvent ev; try { // Get at least one %block; 1.1.2.7 +5 -7 xml-fop/src/java/org/apache/fop/fo/flow/Attic/FoTableFooter.java Index: FoTableFooter.java =================================================================== RCS file: /home/cvs/xml-fop/src/java/org/apache/fop/fo/flow/Attic/FoTableFooter.java,v retrieving revision 1.1.2.6 retrieving revision 1.1.2.7 diff -u -r1.1.2.6 -r1.1.2.7 --- FoTableFooter.java 20 Jan 2004 05:57:08 -0000 1.1.2.6 +++ FoTableFooter.java 21 Jan 2004 11:01:30 -0000 1.1.2.7 @@ -125,9 +125,6 @@ } } - /** The number of markers on this FO. */ - private int numMarkers = 0; - /** The number of table-rows on this FO. */ private int numRows = 0; @@ -158,9 +155,10 @@ { super(foTree, FObjectNames.TABLE_FOOTER, parent, event, stateFlags, sparsePropsMap, sparseIndices); - XmlEvent ev; // Look for zero or more markers - String nowProcessing = "marker"; + getMarkers(); + XmlEvent ev; + String nowProcessing; try { while ((ev = xmlevents.expectStartElement (FObjectNames.MARKER, XmlEvent.DISCARD_W_SPACE)) 1.1.2.7 +3 -2 xml-fop/src/java/org/apache/fop/fo/flow/Attic/FoInlineContainer.java Index: FoInlineContainer.java =================================================================== RCS file: /home/cvs/xml-fop/src/java/org/apache/fop/fo/flow/Attic/FoInlineContainer.java,v retrieving revision 1.1.2.6 retrieving revision 1.1.2.7 diff -u -r1.1.2.6 -r1.1.2.7 --- FoInlineContainer.java 20 Jan 2004 05:57:08 -0000 1.1.2.6 +++ FoInlineContainer.java 21 Jan 2004 11:01:30 -0000 1.1.2.7 @@ -155,6 +155,7 @@ { super(foTree, FObjectNames.INLINE_CONTAINER, parent, event, stateFlags, sparsePropsMap, sparseIndices); + getMarkers(); XmlEvent ev = null; try { // Get at least one %block;
--------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]