You are viewing a plain text version of this content. The canonical link for it is here.
Posted to c-dev@xerces.apache.org by pierre feuilloley <pi...@docubase-systems.fr> on 2001/04/02 10:06:29 UTC

About Element attribute name

Hello,

I have a trouble about an XML file and two Xerces examples (Sax2count, and Domcount).
I'm testing on PC with NT4 sp5, I'm using xerces 1.40 binary and examples, and visual c++ 6.0 sp4. 

XML file:

<?xml version='1.0' encoding="UTF-8" ?>
<!DOCTYPE Dictionnary [
<!ELEMENT Dictionnary (category)+>
<!ELEMENT category (action)+>
<!ATTLIST category id ID #REQUIRED>
<!ATTLIST action what (add|delete) #REQUIRED>
<!ELEMENT action (content)+>
<!ELEMENT content (#PCDATA)>
]>

<Dictionnary>
  <category id="0">
    <action what="add">
      <content>JOURX.DET.CUM.</content>
    </action>
    <action what="add">
      <content>JOURX.DET.CUM.</content>
    </action>
  </category>
  <category id="1">
    <action what="add">
      <content>000001</content>
      <content>000002</content>
      <content>000003</content>
      <content>000004</content>
    </action>
  </category>
</Dictionnary>

when I'm executing Sax2count or Domcount (F:\xerces\xerces-c1_4_0-win32\bin>sax2count f:\temp\test.xml), I have this message:

Error at file f:\temp\test.xml, line 12, char 20
  Message: The values for attribute 'id' must be names or name tokens

Can tell me why I can't use "0" for Id attribute of category.

When I'm testing successfully this file with Internet explorer 5 and Notepad Xml.

Best Regard.

Pierre FEUILLOLEY

Docubase Systems
116, rue d'Aguesseau - BP 405
92103 BOULOGNE BILLANCOURT - France
*(33) 01 49 09 22 85
pierre.feuilloley@docubase-systems.fr


RE: About Element attribute name

Posted by Olivier Vanekem <ol...@yucom.be>.
that is because an id is considered as an xml-name and according to the
specs (www.w3.org):

[Definition: A Name is a token beginning with a letter or one of a few
punctuation characters, and continuing with letters, digits, hyphens,
underscores, colons, or full stops, together known as name characters.]
Names beginning with the string "xml", or any string which would match ((’X’
|’x’) (’M’|’m’) (’L’|’l’)), are reserved for standardization in this or
future versions of this specification.

Therefore, starting with 0 or 1 is not correct.

The fact that it works in IE only means that your XML document is
WELL-FORMED, not that it is VALID. If you install MS-IE TOOLS, you will be
able to validate your document easily, then it will tell you that "A name
was started with an invalid character".

Olivier
  -----Original Message-----
  From: pierre feuilloley [mailto:pierre.feuilloley@docubase-systems.fr]
  Sent: Monday, April 02, 2001 10:06 AM
  To: xerces-c-dev@xml.apache.org
  Cc: ROUX Christian
  Subject: About Element attribute name


  Hello,

  I have a trouble about an XML file and two Xerces examples (Sax2count, and
Domcount).
  I'm testing on PC with NT4 sp5, I'm using xerces 1.40 binary and examples,
and visual c++ 6.0 sp4.

  XML file:

  <?xml version='1.0' encoding="UTF-8" ?>
  <!DOCTYPE Dictionnary [
  <!ELEMENT Dictionnary (category)+>
  <!ELEMENT category (action)+>
  <!ATTLIST category id ID #REQUIRED>
  <!ATTLIST action what (add|delete) #REQUIRED>
  <!ELEMENT action (content)+>
  <!ELEMENT content (#PCDATA)>
  ]>

  <Dictionnary>
    <category id="0">
      <action what="add">
        <content>JOURX.DET.CUM.</content>
      </action>
      <action what="add">
        <content>JOURX.DET.CUM.</content>
      </action>
    </category>
    <category id="1">
      <action what="add">
        <content>000001</content>
        <content>000002</content>
        <content>000003</content>
        <content>000004</content>
      </action>
    </category>
  </Dictionnary>

  when I'm executing Sax2count or Domcount
(F:\xerces\xerces-c1_4_0-win32\bin>sax2count f:\temp\test.xml), I have this
message:

  Error at file f:\temp\test.xml, line 12, char 20
    Message: The values for attribute 'id' must be names or name tokens

  Can tell me why I can't use "0" for Id attribute of category.

  When I'm testing successfully this file with Internet explorer 5 and
Notepad Xml.

  Best Regard.

  Pierre FEUILLOLEY

  Docubase Systems
  116, rue d'Aguesseau - BP 405
  92103 BOULOGNE BILLANCOURT - France
  *(33) 01 49 09 22 85
  pierre.feuilloley@docubase-systems.fr