DTD for an "unknown" document-structure

Is it possible to write a DTD for a XML-Document, whose structure I don't know exactly. In the example below, I don't know the content of the tag c, but I would like to write a DTD for the rest of the document. Are there any possibilities to do this?
Thanks in advance
Chris
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE a SYSTEM "test.dtd">
<a>
<b>hello world</b>
<c>
<!-- here there are any childs I don't know-->
</c>
</a>
<!ELEMENT a (b, c)>
<!ELEMENT b (#PCDATA)>
<!ELEMENT c ( ??WHAT DO I WRITE HERE?? )>

when u r mentioning ur own dtd in the xml doc, ensure that it is in the dir
relative to the xml doc.
That is why , when u moved to webserver's opt dir., which u specified in the
xml doc.,it worked.
please refer to the xml basic documents for details.
SP
"Kiran P" <[email protected]> wrote in message
news:3e1eb180$[email protected]..
>
Hi All
I have written a simple application to parse an XML file.
Need to validate the XML file against a DTD. The DTD will be packaged withthe
'ear' file, WL 7.0.
Am using xerces parser for XML parsing (xerces is packaged with the ear).
Following the guidelines under the 'Programming Weblogic XML' guide.
I am not able to refer to the local DTD within the ear file.
I get the following exception:
org.xml.sax.SAXParseException: File "/opt/car.dtd" not found. atorg.apache.xerces.framework.XMLParser.reportError(XMLParser.java:1219)
atorg.apache.xerces.readers.DefaultEntityHandler.startReadingFromExternalEntit
y(DefaultEntityHandler.java:780)
atorg.apache.xerces.readers.DefaultEntityHandler.startReadingFromExternalSubse
t(DefaultEntityHandler.java:571)
at
My ear structure:
test.ear
-lib-
-lib-xerces.jar
-lib-xml-registry-dtds
-lib-xml-registry-dtds-car.dtd
-META-INF-
-META-INF-weblogic-application.xml
-webapp-
-webapp-META-INF-
-webapp-META-INF-MANIFEST.MF
weblogic-application.xml contents:
<entity-mapping>
<entity-mapping-name>car_definition</entity-mapping-name>
<system-id>/opt/car.dtd</system-id>
<entity-uri>dtds/car.dtd</entity-uri>
</entity-mapping>
MyCar.xml contents:
<?xml version="1.0"?>
<!DOCTYPE chart_definition SYSTEM "/opt/car.dtd">
<car_definition>
<car>
I can get this to work if i change the SYSTEM ID in the MyCar.xml to"file:///opt/car.dtd"
and place the DTD on the server under /opt folder.
Am I missing something? Is there any additional setup required, i failedto find
any in the Weblogic XML Programming guide.
Thanks.
-Kiran.

Similar Messages

  • Can I set the DocumentType for an XML document? If so how? please help

    Hi,
    I am porting some code from jdom to xerces.
    jdom's document class provides a setDocType(String, String) function to set the DTD for the document.
    Is there anything similar in dom?
    The javadocs only mentions a getDocType() for the document interface in org.w3c.dom.Node interface. Is there any way I can SET the document type (DTD) for a given document object?
    TIA,
    Srinivas.

    In iOS, the spellcheck language follows the keyboard.
    The forum for questions about iOS Pages is at
    https://discussions.apple.com/community/app_store/iwork_for_ios

  • Document hierarchy and document structure....

    Can anyone give me a clear picture of document hiererchy band document structure
    i have read the material, could not distinguish both...need a clarity with an example
    Regards
    surya

    See By simple words
    Document Structure 
    Similar to document BOM.This will help you to create a BOM comprising of various DIR's under one Library
    Usage: In production order instead of attaching various documnets in line Item , Instead create a Document stucture and assign it under Production BOM which will occupy under single Line Item.
    The function for exploding a document structure from top to bottom gives a list of all the documents and text items contained in the structure.  Each document contained in such a structure can have its own document structure, as well as being a component of others.  These document structures are exploded completely, level by level.  The depth of the explosion levels is unlimited.  The document structure can be accessed directly from the processing functionality of the document info record.
    Document Hyrarchy
    You can Create a link between the originals attached in the DIR, by defining the superiority status .
    By defining a superior document, a direct predecessor for a simple document hierarchy can be set.  The hierarchy is not limited to this level; it can be expanded from the superior document.
    The superior document can:
    u2022     Be superior to other documents
    u2022     Be inferior to another document
    Documents of different document types can be put into a document hierarchy.  Recursiveness is not supported; the same document may not appear in two different places in the hierarchy.  This means that a document can only be entered once in the entire u2018explosion pathu2019.  By entering superior documents, an entire document hierarchy can be represented in the system.
    Let me know if you need More info.
    Regards,
    Muralidharan

  • How to find the Internal Document Structure Number STLNR from the DIR Key

    Hello:
    Our requirement: When a user moves the Header DIR of a Document BOM to Released Status, we need to check if all the BOM Items in this Document BOM have also been released (in Status Released). If not, we need to give the user an error message informing them which component DIRs need to be released before the system will allow them to release the Header DIR. We can do this by entering the DIR Key of the Header DIR and find out the Internal Document Structure Number (Document BOM Number = STLNR for BOM Category Document Structure STLTY = D) from the available input of the DIR Key DOKARDOKNRDOKTL+DOKVR. Then we need to use the value of STLNR in Table STPO to find the Document BOM Items and check the status of each BOM Item DIR.
    If Table STKO had DIR Key as an input we would have our solution, but alas it does not. Can anyone point us in the right direction by suggesting how to get to STLNR from the DIR Key? Your help would be much appreciated!
    Niraj Pant

    Hi Niraj,
    the STLNR should be contained in structure rc29k. You can also use the DMS BAPI DOCUMENT_GETDETAIL2 with parameter GetStructure or DOCUMENT_GETSTRUCTURE. With these BAPIs you should be able to determine the document structure to an existing document info record. For further information on the mentioned BAPIs please see SAP note <a href="https://service.sap.com/sap/support/notes/766277">766277</a>  which contains a complete documentation on all existing DMS BAPIs.
    Best regards,
    Christoph
    P.S.: Please reward points if this information was usefull.

  • Looking for function module to clear document structure

    Hello,
    we want to use Easy DMS for quick check-in of documents. Therefore we need a folder (document structure) to move all new documents in this fixed defined folder. Now we want to clear every night this folder. Does anybody know, which function module could I use?
    Thanks a lot for any support.
    Best regards.
    Markus

    Hello Iring,
    thanks a lot for your answer. BAPI_DOCUMENT_CHANGE2 is a solution, but in this case I have to read everytime all documents. In my case I know already the folder number (document structure) and therefore I'm looking for a function module to give just the folder number to clear, which would be the best way from performance side.
    Anyway thanks a lot for your answer.
    Regards.
    Markus

  • Update routine to populate value for field ZDOCCATG(Document category)

    Hi Experts,
       I need to populate  data for field ZDOCCATG(Document Category) based on the value of the below  two fields,
    1. 0deb_cre_lc(Debit / credit Amount)
    2. 0ac_doc_typ(Belegart)
    The logic is as follows:
    if 0deb_cre_lc > '0'.
         if 0ac_doc_typ == 'dz'.
          ZDOCCATG = Disputes.
         else
      ZDOCCATG = Invoices.
       end If.
    else
    if 0ac_doc_typ < '0'.
    ZDOCCATG = Credits.
    end if.
    I need to write the update routine to get the values assigned for Document category based on these two fields. When i open the routine for the field ZDOCCATG, i can see the below screen:
    PROGRAM UPDATE_ROUTINE.
    $$ begin of global - insert your declaration only below this line  -
    TABLES: ...
    DATA:   ...
    $$ end of global - insert your declaration only before this line   -
    FORM compute_data_field
      TABLES   MONITOR STRUCTURE RSMONITOR "user defined monitoring
      USING    COMM_STRUCTURE LIKE /BIC/CS80FIAR_O03 - (Communication structure)
               RECORD_NO LIKE SY-TABIX
               RECORD_ALL LIKE SY-TABIX
               SOURCE_SYSTEM LIKE RSUPDSIMULH-LOGSYS
      CHANGING RESULT LIKE /BIC/AZOARFSCM00-/BIC/ZDOCCATG
               RETURNCODE LIKE SY-SUBRC "Do not use!
               ABORT LIKE SY-SUBRC. "set ABORT <> 0 to cancel update
    $$ begin of routine - insert your code only below this line        -
    fill the internal table "MONITOR", to make monitor entries
    result value of the routine
      RESULT = .
    if abort is not equal zero, the update process will be canceled
      ABORT = 0.
    $$ end of routine - insert your code only before this line         -
    ENDFORM.
    Please let me know the code to be inserted (based on the logic mentioned above) in the above screen . Thanks
    Regards,
    Kavitha Jagannath

    Hi Kavitha,
          Supposing the technical name of fields is /bic/0deb_cre_lc and /bic/0ac_doc_typ use the code below at the marked position.
    PROGRAM UPDATE_ROUTINE.
    $$ begin of global - insert your declaration only below this line -
    TABLES: ...
    DATA: ...
    $$ end of global - insert your declaration only before this line -
    FORM compute_data_field
    TABLES MONITOR STRUCTURE RSMONITOR "user defined monitoring
    USING COMM_STRUCTURE LIKE /BIC/CS80FIAR_O03 - (Communication structure)
    RECORD_NO LIKE SY-TABIX
    RECORD_ALL LIKE SY-TABIX
    SOURCE_SYSTEM LIKE RSUPDSIMULH-LOGSYS
    CHANGING RESULT LIKE /BIC/AZOARFSCM00-/BIC/ZDOCCATG
    RETURNCODE LIKE SY-SUBRC "Do not use!
    ABORT LIKE SY-SUBRC. "set ABORT <> 0 to cancel update
    $$ begin of routine - insert your code only below this line -
    fill the internal table "MONITOR", to make monitor entries
    result value of the routine                 
    <----- Paste the code below as shown here --->
    if comm_structure-/bic/0deb_cre_lc > 0.
      if comm_structure-/bic/0ac_doc_typ == 'DZ'.
       result = 'DISPUTES'.
      else
       result = 'INVOICES'.
      endIf.
    elseif comm_structure-/bic/0deb_cre_lc < 0.
      result = 'CREDITS'.
    end if.
    <----
    >
    if abort is not equal zero, the update process will be canceled
    ABORT = 0.
    $$ end of routine - insert your code only before this line -
    ENDFORM.
    Regards:
    Jitendra
    Edited by: Jitendra Gupta on Oct 15, 2009 3:05 PM

  • Sales document report for all open documents

    hi i need the code for sales document report for all open documents is sd
    ...      can anyone help me out.
                                     thanks in advance

    Try transaction VA05. In that choose "Open Orders" along with other selection criteria.
    If you want the Open sales order qty in output and its not displayed, do the following.
    Sales -> System modification -> create new fields ( without condition technique) -> New fields for lists.
    You can change V05TZZMO and structure VBMTVZ from there or use SE38 / SE11.
    For both you'll need an object registration in OSS.
    Hope this helps.
    Thanks,
    Balaji

  • DMS Document structure

    Hi Friends,
    We are implementing DMS in our organization. Our file storing system is explained below.
    1st level - Vendor name (like Nyro / Hydraulics / techno )
    2nd level - Project name (like A1 / A2/ A3)
    3rd level - Dept. (like Civil / electric/ admin)
    4th level - Type (like Drawings / docs / memos)
    Can we do thru Document structure or by classification (by creating characteristics / class and attaching to doc. type)
    Which one is better way ? If we use document structure can we authorization for each level objects like in 2nd level one person is authorized for A1 another for A2 like way other levels also.
    Regards,
    Sai Krishna

    Hi Sai,
    mainly you can work with both ways. The creation of a class which enables your users to classify each document info record and then control the permissions with the suitable authorization objects or by a BADI implementation will work.
    Another solution would be to create a document BOM structure in CV11 or with the help of the new browser function in ECC 600 release. For further information on the browser function please see also the following link http://wiki.sdn.sap.com/wiki/display/PLM/NewFunctionalitiesinERP2005.
    Additionally I think that EasyDMS could also be a solution to setup this scenario for your user. In the above SDN WIKI area for DMS you will also find a special content part for EasyDMS too.
    In the release ECC 600 with EA-PLM extenstion you can use the ACL authorization concept to add individual authorizations for
    users to single document info records. This could be useful to allow one user to enter folder A and another to enter only folder B.
    I hope that this information could be useful for you.
    Best regards,
    Christoph

  • Document structure, Document Hierarchy, Document line Item Bom

    hi, All
    I m confustion in the following,
    1.Document structure,
    2.Document Hierarchy,
    3.In Material bom- DOCUMENT [CS01/2]
    We can enter so many document in the above activities.
    I m confusion with Document structure and Document in material Bom [CS01/2].
    I linked documents in CS02 but Those will shows in DMS but Can't opens. I don't know what is the use creating link in CS02, even though this document not triggers Production order.
    [For document structure needs Change number that i know.]
    But actual use or application i dont know. Could Explain with Exmple.
    Rgds
    Ben

    hi,
    niranjan,
    I created a object link for Bom Item [STPO_DOC] and Bom header  [STKO_DOC] using T-code CS01. This BOM item, BOM Header triggered in DMS. From DMS I am trying to display cs03, But system wonu2019t allow to display.
    And secondly I am trying to link document from DMS to sap object- Material Bom [STOP]
    But system wonu2019t allow.
    How i can establish link materail bom and dms.
    Rgds
    Ben

  • Separate document no. for SD revision document and detagging relationship between invoice and SD document no.

    HI,
    Country specific settings for India - Business transactions enables SD revision vide table TE872_SDCTRL_IND.
    Whenever SD revision takes place system issue similar document no. as that of invoice and tagged it with XBLNR as per standard process.
    Now issue that if that invoice is reversed, subsequent SD also gets reversed.
    So business requires to have separate document no. for SD revision document and detagged relationship between invoice and SD document no.
    I have explored event R507, 0010, 0060 and R436 but couldn't find input structure where such separate document can be assigned.
    So can you provide hint which can assist in issue resolution?
    Regards,
    Paresh

    Check this thread, if this helps.
    [url] Link between MKPF table and EKKO or RBKP table [url]
    I've done this as well earlier to create a custom document flow for archived documents where from the EBELN i've found all the related documents. Hope this helps.

  • XML document structures must start and end within the same entity

    Hi there,
    I'm working with a client/server application and using SaxParser for reading in xml. I get the SaxParserException: XML document structures must start and end within the same entity. I understand what that means, but it isn't applicable! The xml data being used is well-formed. I checked the well-formedness with Stylus Studio to make sure. Here's the data:
    <?xml version='1.0' encoding='UTF-8'?>
    <vcmessage>
         <vcsource>3</vcsource>
         <processevent>16</processevent>
         <shape>
              <llindex>0</llindex>
              <shapetype>9</shapetype>
              <shapeproperties>
                   <shapelocation>
                        <xcoord>54</xcoord>
                        <ycoord>184</ycoord>
                   </shapelocation>
                   <bounds>
                        <width>24</width>
                        <height>24</height>
                   </bounds>
                   <fgcolor>
                        <fgred>0</fgred>
                        <fggreen>0</fggreen>
                        <fgblue>0</fgblue>
                   </fgcolor>
                   <bgcolor>
                        <bgred>255</bgred>
                        <bggreen>255</bggreen>
                        <bgblue>255</bgblue>
                   </bgcolor>
                   <thickness>1</thickness>
                   <isfilled>false</isfilled>
              </shapeproperties>
         </shape>
    </vcmessage>The parser generally stops around the </bgcolor> tag.
    I'm using Eclypse as my IDE. I'm wondering if there's something wrong with it? Or maybe there's something wrong with the class I'm using for reading in the XML? Followng is the class.
    Please advise,
    Alan
    package vcclient;
    import java.io.*;
    import org.xml.sax.*;
    import org.xml.sax.helpers.*;
    import javax.xml.parsers.*;
    public class XMLDocumentReader extends DefaultHandler
      private VCClient client = null;
      private Writer out;
      private String lineEnd =  System.getProperty("line.separator");
      private boolean haveSourceType = false;
      private boolean haveUserName = false;
      private boolean haveMessage = false;
      private boolean haveProcessEvent = false;
      private boolean haveLinkedListIndex = false;
      private boolean haveOpeningShapePropertiesTag = false;
      private boolean haveShapeType = false;
      private boolean haveOpeningShapeLocationTag = false;
      private boolean haveShapeLocation = false;
      private boolean haveOpeningXCoordTag = false;
      private boolean haveOpeningYCoordTag = false;
      private boolean haveOpeningBoundsTag = false;
      private boolean haveBoundsWidth = false;
      private boolean haveBoundsHeight = false;
      private boolean haveOpeningFGColorTag = false;
      private boolean haveOpeningBGColorTag = false;
      private boolean haveOpeningThicknessTag = false;
      private boolean haveOpeningIsFilledTag = false;
      private boolean haveOpeningImageDataTag = false;
      private boolean haveOpeningTextDataTag = false;
      private boolean haveFGRed = false;
      private boolean haveFGGreen = false;
      private boolean haveFGBlue = false;
      private boolean haveBGRed = false;
      private boolean haveBGGreen = false;
      private boolean haveBGBlue = false;
      private boolean haveThickness = false;
      private boolean haveIsFilled = false;
      private boolean haveImageData = false;
      private boolean haveTextData = false;
      private VCMessage vcmessage = null;
      public XMLDocumentReader(VCClient value)
           client = value;
           vcmessage = new VCMessage();
      public VCMessage getVCMessage()
           return vcmessage;
      public boolean haveSourceType()
         return haveSourceType; 
      public boolean ParseXML(InputStream stream)
         boolean success = false;
         // Use the default (non-validating) parser
        SAXParserFactory factory = SAXParserFactory.newInstance();
        try
             // Set up output stream
            out = new OutputStreamWriter(System.out, "UTF-8");
            // Parse the input
            SAXParser saxParser = factory.newSAXParser();
            saxParser.parse( stream, this );
            success = true;
        catch (SAXParseException spe)
            // Error generated by the parser
            System.out.println("\n** Parsing error"
               + ", line " + spe.getLineNumber()
               + ", uri " + spe.getSystemId());
            System.out.println("   " + spe.getMessage() );
            // Unpack the delivered exception to get the exception it contains
            Exception  x = spe;
            if (spe.getException() != null)
                x = spe.getException();
            x.printStackTrace();
            return success;
        catch (SAXException sxe)
             // Error generated by this application
             // (or a parser-initialization error)
             Exception  x = sxe;
             if (sxe.getException() != null)
                 x = sxe.getException();
             x.printStackTrace();
             return success;
        catch (ParserConfigurationException pce)
            // Parser with specified options can't be built
            pce.printStackTrace();
            return success;
        catch (Throwable t)
             t.printStackTrace();
             return success;
        return success;
      public void startDocument()throws SAXException
          emit("<?xml version='1.0' encoding='UTF-8'?>");
          nl();
      public void endDocument()throws SAXException
          try {
              nl();
              out.flush();
          } catch (IOException e) {
              throw new SAXException("I/O error", e);
      public void startElement(String namespaceURI,
                               String lName, // local name
                               String qName, // qualified name
                               Attributes attrs)throws SAXException
          String eName = lName; // element name
          if (eName.equals(""))
             eName = qName; // namespaceAware = false
          emit("<"+eName);
          if (attrs != null) {
              for (int i = 0; i < attrs.getLength(); i++) {
                  String aName = attrs.getLocalName(i); // Attr name
                  if (aName.equals("")) aName = attrs.getQName(i);
                  emit(" ");
                  emit(aName + "=\"" + attrs.getValue(i) + "\"");
          emit(">");
          if(makeStartTag(eName).equals(Constants.OPENING_SHAPEPROPERTIES))
                haveOpeningShapePropertiesTag = true;
          else if(makeStartTag(eName).equals(Constants.OPENING_SHAPELOCATION))
              haveOpeningShapeLocationTag = true;
          else if(makeStartTag(eName).equals(Constants.OPENING_BOUNDS))
                haveOpeningBoundsTag = true;
          else if(makeStartTag(eName).equals(Constants.OPENING_FGCOLOR))
                 haveOpeningFGColorTag = true;
          else if(makeStartTag(eName).equals(Constants.OPENING_BGCOLOR))
              haveOpeningBGColorTag = true;
          else if(makeStartTag(eName).equals(Constants.OPENING_BGGREEN))
               System.out.println("See BGGreen");
          else if(makeStartTag(eName).equals(Constants.OPENING_BGBLUE))
               System.out.println("See BGBlue");
          else if(makeStartTag(eName).equals(Constants.OPENING_THICKNESS))
              haveOpeningThicknessTag = true;
          else if(makeStartTag(eName).equals(Constants.OPENING_ISFILLED))
              haveOpeningIsFilledTag = true;
          else if(makeStartTag(eName).equals(Constants.OPENING_IMAGEDATA))
              haveOpeningImageDataTag = true;
          else if(makeStartTag(eName).equals(Constants.OPENING_TEXTDATA))
              haveOpeningTextDataTag = true;
      public void endElement(String namespaceURI,
                             String sName, // simple name
                             String qName  // qualified name
                            )throws SAXException
           if(sName.equals("") && !qName.equals(""))
              sName = qName;
              emit("</"+sName+">");
           else
              emit("</"+sName+">");
           if(makeEndTag(sName).equals(Constants.CLOSING_SOURCE_TYPE))
              haveSourceType = true;
           else if(makeEndTag(sName).equals(Constants.CLOSING_USER))
              haveUserName = true;
           else if(makeEndTag(sName).equals(Constants.CLOSING_MESSAGE))
              haveMessage = true;
           else if(makeEndTag(sName).equals(Constants.CLOSING_PROCESSEVENT))
               haveProcessEvent = true;
           else if(makeEndTag(sName).equals(Constants.CLOSING_LINKEDLISTINDEX))
               haveLinkedListIndex = true;
           else if(makeEndTag(sName).equals(Constants.CLOSING_SHAPETYPE))
               haveShapeType = true;
           else if(makeEndTag(sName).equals(Constants.CLOSING_SHAPELOCATION))
                haveOpeningShapeLocationTag = false;
           else if(makeEndTag(sName).equals(Constants.CLOSING_WIDTH))
               haveBoundsWidth = true;
           else if(makeEndTag(sName).equals(Constants.CLOSING_HEIGHT))
               haveBoundsHeight = true;
           else if(makeEndTag(sName).equals(Constants.CLOSING_BOUNDS))
                haveOpeningBoundsTag = false;
           else if(makeEndTag(sName).equals(Constants.CLOSING_FGRED))
               haveFGRed = true;
           else if(makeEndTag(sName).equals(Constants.CLOSING_FGGREEN))
               haveFGGreen = true;
           else if(makeEndTag(sName).equals(Constants.CLOSING_FGBLUE))
               haveFGBlue = true;
           else if(makeEndTag(sName).equals(Constants.CLOSING_FGCOLOR))
                haveOpeningFGColorTag = false;
           else if(makeEndTag(sName).equals(Constants.CLOSING_BGRED))
               haveBGRed = true;
           else if(makeEndTag(sName).equals(Constants.CLOSING_BGGREEN))
             haveBGGreen = true;
           else if(makeEndTag(sName).equals(Constants.CLOSING_BGBLUE))
               System.out.println("See closing BGBlue");
               haveBGBlue = true;
           else if(makeEndTag(sName).equals(Constants.CLOSING_BGCOLOR))
                haveOpeningBGColorTag = false;
           else if(makeEndTag(sName).equals(Constants.CLOSING_THICKNESS))
               System.out.println("XMLDocumentReader: Step2");
                haveOpeningThicknessTag = false;
           else if(makeEndTag(sName).equals(Constants.CLOSING_ISFILLED))
               haveOpeningIsFilledTag = false;
           else if(makeEndTag(sName).equals(Constants.CLOSING_IMAGEDATA))
               haveOpeningImageDataTag = false;
           else if(makeEndTag(sName).equals(Constants.CLOSING_TEXTDATA))
               haveOpeningTextDataTag = false;
      private String makeStartTag(String tag_name)
           String start = "<";
           String end = ">";
           return start.concat(tag_name).concat(end);
      private String makeEndTag(String tag_name)
           String start = "</";
           String end = ">";
           return start.concat(tag_name).concat(end);
      public void characters(char buf[], int offset, int len)throws SAXException
           String s = new String(buf, offset, len);
          if(haveSourceType == false)
               if(vcmessage.getSourceType() == null)
                  try
                    if(s.equals(""))return;
                   int sourcetype = Integer.parseInt(s);
                   vcmessage.setSourceType(sourcetype);                            
                  catch(NumberFormatException nfe){}
          else if(vcmessage.getSourceType() == SourceType.CHAT_SOURCE)
            if(vcmessage.getSourceType() == SourceType.CHAT_SOURCE && haveUserName == false)
                 vcmessage.setUserName(s);          
            else if(vcmessage.getSourceType() == SourceType.CHAT_SOURCE && haveMessage == false)
               //When the parser encounters interpreted characters like: & or <,
               //then this method gets invoked more than once for the whole message.
               //Therefore, we need to concatonate each portion of the message.  The
               //following method call automatically concatonates.
               vcmessage.concatMessage(s);                    
          else if(vcmessage.getSourceType() == SourceType.WHITEBOARD_SOURCE)
               if(haveProcessEvent == false)
                 try
                   vcmessage.setProcessEvent(Integer.parseInt(s));
                 catch(NumberFormatException nfe){}
               else if(haveLinkedListIndex == false)
                    try
                       vcmessage.setLinkedListIndex(Integer.parseInt(s));
                     catch(NumberFormatException nfe){}
               else if(haveShapeType == false)
                    try
                       vcmessage.setShapeType(Integer.parseInt(s));
                     catch(NumberFormatException nfe){}
               if(haveOpeningShapePropertiesTag)
                    if(haveOpeningShapeLocationTag)
                         if(haveOpeningXCoordTag)
                              try
                                vcmessage.setXCoordinate(Integer.parseInt(s));
                              catch(NumberFormatException nfe){}
                         else if(haveOpeningYCoordTag)
                              try
                                vcmessage.setYCoordinate(Integer.parseInt(s));
                                //reset all flags for ShapeLocation, X and Y coordinates
                                haveOpeningXCoordTag = false;
                                haveOpeningYCoordTag = false;
                                //haveOpeningShapeLocationTag = false;
                              catch(NumberFormatException nfe){}
                    else if(haveOpeningBoundsTag)
                         if(haveBoundsWidth == false)
                              try
                                vcmessage.setBoundsWidth(Integer.parseInt(s));
                              catch(NumberFormatException nfe){}
                         else if(haveBoundsHeight == false)
                              try
                                vcmessage.setBoundsHeight(Integer.parseInt(s));
                                //reset flag
                                //haveOpeningBoundsTag = false;
                              catch(NumberFormatException nfe){}
                    else if(haveOpeningFGColorTag)
                         if(haveFGRed == false)
                              try
                                vcmessage.setFGRed(Integer.parseInt(s));                           
                              catch(NumberFormatException nfe){}
                         else if(haveFGGreen == false)
                              try
                                vcmessage.setFGGreen(Integer.parseInt(s));                           
                              catch(NumberFormatException nfe){}
                         else if(haveFGBlue == false)
                              try
                                vcmessage.setFGBlue(Integer.parseInt(s));
                                //reset flag
                                //haveOpeningFGColorTag = false;
                              catch(NumberFormatException nfe){}
                    else if(haveOpeningBGColorTag)
                         if(haveBGRed == false)
                              try
                                vcmessage.setBGRed(Integer.parseInt(s));                           
                              catch(NumberFormatException nfe){}
                         else if(haveBGGreen == false)
                              try
                                vcmessage.setBGGreen(Integer.parseInt(s));                           
                              catch(NumberFormatException nfe){}
                         else if(haveBGBlue == false)
                         {   System.out.println("getting BGBlue data");
                              try
                                vcmessage.setBGBlue(Integer.parseInt(s));
                                //reset flag
                                //haveOpeningBGColorTag = false;
                              catch(NumberFormatException nfe){}
                    else if(haveOpeningThicknessTag)
                         try
                            vcmessage.setThickness(Integer.parseInt(s));                       
                          catch(NumberFormatException nfe){}
                    else if(haveOpeningIsFilledTag)
                         vcmessage.setIsFilled(s);
                    else if(haveOpeningImageDataTag && vcmessage.getProcessEvent() == org.jcanvas.comm.ProcessEvent.MODIFY)
                         vcmessage.setBase64ImageData(s);                    
                    else if(haveOpeningTextDataTag && vcmessage.getProcessEvent() == org.jcanvas.comm.ProcessEvent.MODIFY)
                         vcmessage.setTextData(s);
                    //reset
                    haveOpeningShapePropertiesTag = false;
          emit(s);
      //===========================================================
      // Utility Methods ...
      //===========================================================
      // Wrap I/O exceptions in SAX exceptions, to
      // suit handler signature requirements
      private void emit(String s)throws SAXException
          try {
              out.write(s);
              out.flush();
          } catch (IOException e) {
              throw new SAXException("I/O error", e);
      // Start a new line
      private void nl()throws SAXException
          try {
              out.write(lineEnd);
          } catch (IOException e) {
              throw new SAXException("I/O error", e);
      //treat validation errors as fatal
      public void error(SAXParseException e)
      throws SAXParseException
        throw e;
      // dump warnings too
      public void warning(SAXParseException err)
      throws SAXParseException
        System.out.println("** Warning"
            + ", line " + err.getLineNumber()
            + ", uri " + err.getSystemId());
        System.out.println("   " + err.getMessage());
    }

    Just out of curiosity what happens if you append a space to the end of the XML document?

  • Document Structure

    Dear Experts,
    Scenario:
    Create document in DMS with status IE In preparation.
    Change the document with status Release
    Before release of the document we validate that the respective documents are stored in respetive folders.
    Documents are stored manually by using CV12.
    Some times user stores the document with status IE in the folder which we want to validate as
    Only documents with released status should get stored in respective folders?
    I could not find any BADI / USER EXIT for this functionality?
    Can any body help on this ..
    Thanks and Regards
    Rane

    Dear Kristoffer
    Thanks for the reply
    Document_storage01 is used for storing Originals.
    What I am doing is DIR is being stored in Document structure say XYZ.
    So I need to validate at the time of transaction CV12 and not while check in process.
    Thanks and regards,
    Rane

  • Document structure & Document Hierarchy

    Hi,
    Can any one reply me the difference between Document structure & Document Hierarchy with suitable example for more clarification? Write me in your own words don’t give me the link from sap help, I know that.
    Waiting for your valuable response.
    Regards,
    Seema Pilankar

    Hi,
    from my point of view I would recommend you to use the functionality of document structure.
    The main difference is that for document structure you can create a header in transaction CV11 and then link as many document info records to it. Further transactions are CV12 (edit) and CV13 (display). So the document structure is easier to handle. Due to the position interval it should be possible to add up to 999 documents here.
    The document hierachy is nearly the same but you have to go the transaction CV02N and enter the superior document info record for each sub-document and this needs a lot more time than in CV12 for example. For the document hierarchy there is no limit on the number documents which are linked to a superior document info record.
    For more information please see the SAP Online documentation (http://help.sap.com) under:
    SAP R/3 Enterprise Application Components
    - Cross-Application Components
      - Document Management
         - Document Structures
    I hope this inrformation could be useful for you.
    Best regards,
    Christoph
    P.S.: Please don't forget to reward points for good information.

  • Document Structure Solution

    Hi all
    I'm reading about Document Structure and I have a question.
    I wanna create a Structure (1) for user and they only base on this structure to create new Document Structure themself
    I mean Structure (1) is something like the process and user just base on this...
    Can I create this ? And where can I create this in DMS.
    For example:
    I have a Structure (1) [not Document Structure]
    A (1)
    |
    |____|B (2)
    |____|C (2)
    |____|_________D (3)
    A,B,C,D are Document type
    And when user create Document DIR they have to base on this Structure (1)
    I try to make my problem clearly with everyone... But so hard to get it. If you don't understand me you can ask for more information.
    Regard
    An NLP
    Edited by: An NLP on Mar 18, 2010 3:16 AM
    Edited by: An NLP on Mar 18, 2010 3:17 AM
    Edited by: An NLP on Mar 18, 2010 3:18 AM

    Hi Amaresh Makal 
    Thanks for your caring my problem. I use another example and hope you can understand what I want.
    A,B,C,D are Document Types.
    And have a rule: A must have B,C,D
    I mean
    When users create a document in Document Type A, they have to create the documents in other Document Types: B,C,D.
    And document in A is only released when the documents in B,C,D are released.
    I want a structure (like Document Structure) for Document Type and it is used for all of documents in that Document Type.You should notice that I'm talking about Document Type not Document
    Maybe, It's impossible to do because I can't find out anything to link the Document Types in DMS.
    Finally, If it cannot be done and do you think SAP DMS need a system like that ?
    Regards
    An NLP

  • Is posssible to create Document structure in KM ?

    Hi All,
    Similar to DMS, Is it possible to Create a Document Structure in KM?. or Is it possible to link various documents ?
    Thanks
    Badri

    Hi Jenn,
    As such Km doesn't allow document structure. The only possibilities is to have an iview of DMS or use the DMS connector ( This is based on the Variants in the search of documents). Both were not much of help.
    - As of records management we were able to get the repositories into the KM. We couldn't use KM for records management because of the regulations as well as KM is meant for sharing the information where as records management has very specific conditions to satisfy.
    How ever we are thinking of using the Public sector Records management and intergrate within KM.
    Hope this helps
    Cheers
    Badri

Maybe you are looking for

  • PO email output type program  causes unable to  print preview

    Hi Guys, i am customising a program for print preview email for PO output type, but the preview does not come out , here is the code: form entry_neu using ent_retco ent_screen.   data: dtext like tline.   data: l_druvo like t166k-druvo,         l_nas

  • How can I create a 6x9 PDF?

    I have a 6x9 word document but when I use the online PDF creator it always makes it into a 11x17 or something like that.  How do I make a 6x9?

  • How can i retrieve xsl file by context-root

    we have a project using weblogic server6.1,all things done smoothly,           but,we met a big problem . we use xml and xsl export html,but the problem is           how can we retrieve xsl document in the same project root by relative path          

  • Table control in screen programing

    Hi.. i am working with table contrl. I am able to display the table layout in ouput. I need to display the retieved data from standaar table (vbak) on to the table layout in the ouput. what i need to do???????????

  • HT4623 my iphone will not turn on

    I bought a new iphone, when you open the box is not attached