Skip to content
GitLab
Projects Groups Topics Snippets
  • /
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
  • Sign in
  • railML 2 railML 2
  • Project information
    • Project information
    • Activity
    • Labels
    • Members
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Graph
    • Compare revisions
  • Issues 50
    • Issues 50
    • List
    • Boards
    • Service Desk
    • Milestones
  • Merge requests 0
    • Merge requests 0
  • Deployments
    • Deployments
    • Releases
  • Activity
  • Graph
  • Create a new issue
  • Commits
  • Issue Boards
Collapse sidebar
  • railML.orgrailML.org
  • railML 2railML 2
  • Issues
  • #13
Closed
Open
Issue created Mar 20, 2009 by Deleted User@deleted-user

Use of 'xsd:ID' and 'xsd:IDREF'

Implementing more constrained XML types xsd:ID and xsd:IDREF instead of xsd:string in railML:tGenericID and railML:tGenericRef.

  • That allows only one attribute of type xsd:ID in each element. railML schemas define railML:id attribute for this purpose, inherited by railML:tElementWithIDAndName.

  • That requires unique railML:id attributes for whole XML file.

  • That restricts railML:id attribute to pass the NCName rules: no Whitespaces, starting with a letter or "_", see also [http://www.w3.org/TR/1999/REC-xml-names-19990114/#NT-NCName]

  • That requires railML:id with XML Attribute required or implied (no default possible).

  • That requires non-zero-length attributes of type xsd:IDREF. railML schemas define attribute railML:refID, inherited by railML:tElementWithReference or railML:*RefId attributes for this reason.

  • That requires xsd:IDREF attributes, that match an xsd:ID attribute value inside an XML file.

See also [http://www.w3.org/TR/2000/WD-xml-2e-20000814#NT-TokenizedType]

This type change results in stronger identifier and reference rules. XML validators are supposed to obey these rules and identify non-conforming XML files.

Assignee
Assign to
Time tracking

railML.org e.V. (Registry of Associations: VR 5750) Phone: +49 351 47582911 Altplauen 19h; 01187 Dresden; Germany