HMRC Inline XBRL Style Guide V1.3

User Manual:

Open the PDF directly: View PDF PDF.
Page Count: 18

DownloadHMRC Inline XBRL Style Guide V1.3 Xbrl-style-guide
Open PDF In BrowserView PDF
v1.3	
  –	
  December	
  2010	
  
	
  
	
  
	
  
	
  

	
  
	
  
	
  

HMRC	
  CT	
  Inline	
  XBRL	
  Style	
  Guide	
  
Contents	
  
1.	
  Introduction	
  .................................................................................................................................	
  1	
  
2.	
  Conformance	
  with	
  the	
  Inline	
  XBRL	
  Specification	
  ........................................................	
  2	
  
3.	
  Document	
  level	
  Issues	
  .............................................................................................................	
  3	
  
3.1	
   Multiple	
  input	
  documents	
  ...........................................................................................	
  3	
  
3.2	
   Single	
  output	
  document	
  ...............................................................................................	
  3	
  
3.3	
   XHTML	
  vs	
  HTML	
  .............................................................................................................	
  3	
  
3.4	
   Document	
  Encoding	
  &	
  Use	
  Of	
  “non-­‐standard”	
  Characters	
  ...........................	
  4	
  
3.5	
   Java	
  Applets,	
  JavaScript	
  ................................................................................................	
  5	
  
3.6	
   CSS	
  styling	
  ..........................................................................................................................	
  6	
  
3.7	
   Pagination	
  ..........................................................................................................................	
  6	
  
3.8	
   Images,	
  logos,	
  etc	
  ............................................................................................................	
  6	
  
3.9	
   XML	
  Canonicalisation	
  &	
  Encoding	
  Submissions	
  ...............................................	
  7	
  
3.10	
   HTML	
  	
  Element	
  ................................................................................................	
  7	
  
4.	
  Element	
  level	
  Issues	
  .................................................................................................................	
  9	
  
4.1	
   Transformation	
  rules	
  ....................................................................................................	
  9	
  
4.2	
   Duplication	
  of	
  marked-­‐up	
  facts	
  .............................................................................	
  10	
  
4.3	
   Escaped	
  HTML	
  in	
  non-­‐numeric	
  data	
  ...................................................................	
  11	
  
4.4	
   Number	
  Signs	
  ................................................................................................................	
  11	
  
4.5	
   Scaling	
  and	
  Precision	
  .................................................................................................	
  13	
  
4.6	
   Percentages	
  ....................................................................................................................	
  13	
  
4.7	
   Nesting	
  Mark-­‐up	
  ..........................................................................................................	
  14	
  
4.8	
   Tuple	
  Member	
  Ordering	
  ...........................................................................................	
  15	
  
5.	
  XBRL-­‐related	
  Issues	
  ...............................................................................................................	
  16	
  
5.1	
   Minimum	
  Tagging	
  Requirement	
  ...........................................................................	
  16	
  
5.2	
   Entity	
  Identifier	
  Scheme	
  for	
  HMRC	
  submissions	
  ...........................................	
  16	
  
5.3	
   Document	
  Creator	
  Information	
  .............................................................................	
  17	
  

1.	
  Introduction	
  
The	
  Inline	
  XBRL	
  Style	
  Guide	
  is	
  intended	
  to	
  assist	
  commercial	
  and	
  in-­‐house	
  software	
  
developers	
  engaged	
  in	
  the	
  process	
  of	
  producing	
  applications	
  that	
  create	
  one	
  or	
  both	
  of	
  
the	
  Inline	
  XBRL	
  components	
  of	
  an	
  online	
  Company	
  Tax	
  Return	
  (i.e.	
  a	
  Tax	
  Computation	
  
and/or	
  a	
  set	
  of	
  Statutory	
  Accounts).	
  It	
  does	
  not	
  cover	
  information	
  relating	
  to	
  the	
  
Company	
  Tax	
  Return	
  itself	
  (the	
  CT600	
  and	
  its	
  supplementary	
  pages)	
  or	
  the	
  mechanisms	
  
of	
  online	
  filing	
  –	
  for	
  these,	
  please	
  refer	
  to	
  the	
  ‘Tech	
  Pack’	
  for	
  CT	
  online	
  filing,	
  published	
  
by	
  HMRC’s	
  Software	
  Developer	
  Support	
  Team	
  (SDST)	
  at	
  
http://www.hmrc.gov.uk/ebu/ct-­‐tech-­‐index.htm.	
  
	
  
The	
  information	
  and	
  guidance	
  presented	
  here	
  is	
  not	
  mandatory	
  (except	
  where	
  it	
  relates	
  
to	
  requirements	
  of	
  the	
  Specification	
  itself	
  or	
  the	
  HMRC	
  online	
  service)	
  but	
  is	
  intended	
  to	
  
assist	
  developers	
  in	
  producing	
  Inline	
  XBRL	
  documents	
  that	
  are	
  as	
  complete	
  and	
  useful	
  
as	
  possible.	
  
	
  
Page	
  1	
  of	
  18	
  
	
  

v1.3	
  –	
  December	
  2010	
  
	
  
This	
  Guide	
  should	
  be	
  read	
  in	
  conjunction	
  with	
  the	
  Inline	
  XBRL	
  1.0	
  Background	
  
Information	
  and	
  Guidance	
  document	
  produced	
  by	
  the	
  XII1	
  Rendering	
  Working	
  Group,	
  
which	
  is	
  intended	
  as	
  a	
  non-­‐normative	
  companion	
  to	
  the	
  Specification	
  itself	
  –	
  the	
  
Proposed	
  Recommendation	
  version	
  of	
  the	
  background	
  document	
  can	
  be	
  found	
  at:	
  
http://www.xbrl.org/Specification/inlineXBRL/PR-­‐2010-­‐01-­‐28/inlineXBRL-­‐
background-­‐PR-­‐2010-­‐01-­‐28.html	
  	
  
	
  
In	
  addition,	
  this	
  Guide	
  builds	
  upon,	
  and	
  is	
  consistent	
  with,	
  the	
  information	
  contained	
  in	
  
the	
  XBRL	
  UK	
  Preparers	
  and	
  Developers	
  Guide,	
  which	
  is	
  targeted	
  at	
  those	
  creating	
  
financial	
  reports	
  (in	
  particular	
  company	
  accounts)	
  in	
  XBRL	
  in	
  the	
  United	
  Kingdom.	
  
	
  
	
  

2.	
  Conformance	
  with	
  the	
  Inline	
  XBRL	
  Specification	
  
The	
  HMRC	
  CT	
  online	
  service	
  (launched	
  on	
  23rd	
  Nov	
  2009	
  and	
  updated	
  on	
  11th	
  October	
  
2010)	
  is	
  currently	
  conformant	
  with	
  the	
  first	
  Proposed	
  Recommendation	
  (January	
  2010)	
  
of	
  the	
  Inline	
  XBRL	
  Specification,	
  which	
  can	
  be	
  found	
  at:	
  
http://www.xbrl.org/Specification/inlineXBRL-­‐part1/PR-­‐2010-­‐01-­‐28/inlineXBRL-­‐
part1-­‐PR-­‐2010-­‐01-­‐28.html	
  
	
  
The	
  update	
  on	
  11th	
  October	
  2010	
  included	
  one	
  additional	
  (backwards-­‐compatible)	
  
feature	
  of	
  use	
  to	
  users	
  of	
  the	
  HMRC	
  CT	
  online	
  service	
  (discussed	
  more	
  fully	
  in	
  the	
  
section	
  on	
  ‘Duplication	
  of	
  marked-­‐up	
  facts’	
  below).	
  	
  
	
  
An	
  update	
  to	
  the	
  HMRC	
  CT	
  online	
  service	
  to	
  align	
  with	
  the	
  final	
  Recommendation	
  
version	
  of	
  the	
  Specification	
  will	
  be	
  signalled	
  well	
  in	
  advance,	
  and	
  will	
  be	
  applied	
  to	
  the	
  
test	
  service	
  first.	
  The	
  XII	
  Rendering	
  Working	
  Group	
  (the	
  body	
  that	
  controls	
  the	
  
Specification)	
  and	
  HMRC	
  have	
  taken	
  care	
  to	
  ensure	
  that	
  any	
  changes	
  from	
  the	
  4th	
  
Candidate	
  Recommendation	
  onwards	
  (originally	
  introduced	
  in	
  November	
  2009)	
  are	
  
backwards-­‐compatible	
  so	
  that	
  Inline	
  XBRL	
  production	
  software	
  already	
  “in	
  the	
  field”	
  is	
  
not	
  invalidated	
  by	
  new	
  Recommendations.	
  
	
  

	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  
1	
  XBRL	
  International	
  Inc.	
  A	
  consortium	
  of	
  over	
  600	
  companies,	
  government	
  agencies	
  and	
  accountancy	
  firms	
  
that	
  oversees	
  and	
  manages	
  the	
  publication	
  of	
  the	
  XBRL	
  “family”	
  of	
  Specifications.	
  

Page	
  2	
  of	
  18	
  
	
  

v1.3	
  –	
  December	
  2010	
  
	
  

3.	
  Document	
  level	
  Issues	
  
3.1	
  

Multiple	
  input	
  documents	
  

The	
  vast	
  majority	
  of	
  Tax	
  Computations	
  and	
  Accounts	
  supplied	
  by	
  vendor	
  applications	
  
are	
  expected	
  to	
  be	
  single,	
  self-­‐contained	
  Inline	
  XBRL	
  documents	
  that	
  can	
  be	
  opened	
  and	
  
viewed	
  in	
  a	
  single	
  browser	
  window.	
  However,	
  for	
  practical	
  reasons,	
  multiple	
  Inline	
  
XBRL	
  documents	
  (sometimes	
  referred	
  to	
  as	
  an	
  Inline	
  XBRL	
  Document	
  Set,	
  or	
  IXDS)	
  	
  are	
  
allowed	
  by	
  the	
  service	
  (the	
  CT600	
  XML	
  Schema	
  permits	
  multiple	
  iXBRL	
  instance	
  
documents	
  to	
  be	
  presented	
  in	
  a	
  single	
  submission	
  for	
  each	
  of	
  the	
  Tax	
  Computation	
  and	
  
the	
  Accounts).	
  
	
  
The	
  potential	
  for	
  generating	
  “oversized”	
  Inline	
  XBRL	
  documents	
  is	
  the	
  only	
  reason	
  to	
  
create	
  a	
  document	
  set	
  as	
  opposed	
  to	
  a	
  single	
  Inline	
  XBRL	
  document.	
  Experience	
  has	
  
shown	
  that	
  XHTML	
  documents	
  larger	
  than	
  about	
  5mb	
  in	
  size	
  present	
  difficulties	
  for	
  
most	
  current	
  web	
  browsers,	
  so	
  for	
  the	
  sake	
  of	
  your	
  customers	
  and	
  HMRC	
  staff,	
  arrange	
  
to	
  break	
  up	
  Inline	
  XBRL	
  documents	
  that	
  may	
  approach	
  this	
  size.	
  
	
  
There	
  are	
  however	
  some	
  extra	
  things	
  to	
  think	
  about	
  with	
  multiple	
  input	
  documents.	
  
First,	
  give	
  due	
  consideration	
  to	
  navigation	
  between	
  documents	
  –	
  you	
  may	
  have	
  a	
  
summary	
  document	
  with	
  links	
  to	
  all	
  the	
  detailed	
  parts,	
  or	
  you	
  may	
  simply	
  chain	
  two	
  or	
  
more	
  documents	
  together.	
  Either	
  way,	
  navigation	
  links	
  must	
  be	
  implemented	
  with	
  
relative	
  URLs	
  so	
  that	
  they	
  continue	
  to	
  function	
  correctly	
  within	
  HMRC’s	
  environment	
  -­‐	
  
absolute	
  URLs	
  containing	
  your	
  customer’s	
  domain	
  are	
  not	
  going	
  to	
  resolve	
  properly.	
  It	
  is	
  
best	
  to	
  avoid	
  sub-­‐directories	
  and	
  keep	
  the	
  collection	
  of	
  documents	
  in	
  a	
  single	
  directory	
  –	
  
that	
  way	
  the	
  navigation	
  URLs	
  only	
  depend	
  on	
  the	
  preservation	
  of	
  the	
  original	
  filenames,	
  
which	
  will	
  have	
  to	
  be	
  supplied	
  as	
  attributes	
  (see	
  the	
  CT600	
  XML	
  Schema	
  for	
  details).	
  
	
  
One,	
  and	
  only	
  one,	
  of	
  the	
  documents	
  in	
  the	
  set	
  will	
  have	
  to	
  be	
  nominated	
  as	
  the	
  “entry	
  
point”	
  via	
  an	
  attribute	
  on	
  its	
  CT600	
  <InlineXBRLDocument>	
  or	
  
<EncodedInlineXBRLDocument>	
  element.	
  This	
  is	
  the	
  document	
  that	
  you	
  want	
  the	
  user	
  to	
  
see	
  first	
  when	
  opening	
  and	
  viewing	
  the	
  document	
  set.	
  Multiple	
  input	
  documents	
  with	
  no	
  
nominated	
  “entry	
  point”	
  will	
  be	
  rejected,	
  as	
  will	
  multiple	
  input	
  documents	
  with	
  more	
  
than	
  one	
  nominated	
  “entry	
  point”	
  (for	
  single	
  input	
  documents	
  there	
  is	
  no	
  need	
  to	
  
provide	
  the	
  “entry	
  point”	
  attribute	
  at	
  all).	
  
	
  

3.2	
  

Single	
  output	
  document	
  

The	
  result	
  of	
  processing	
  one,	
  or	
  a	
  set	
  of	
  related,	
  Inline	
  XBRL	
  “input”	
  document(s)	
  in	
  a	
  
submission	
  is	
  always	
  a	
  single	
  target	
  XBRL	
  instance	
  document.	
  Multiple	
  target	
  XBRL	
  
instance	
  documents	
  are	
  not	
  supported	
  by	
  the	
  service,	
  despite	
  being	
  permitted	
  by	
  the	
  
Inline	
  XBRL	
  Specification.	
  
	
  
The	
  consequence	
  is	
  that	
  the	
  service	
  will	
  always	
  derive	
  a	
  single	
  XBRL	
  instance	
  document	
  
for	
  the	
  Tax	
  Computation	
  (where	
  supplied)	
  and	
  a	
  single	
  XBRL	
  instance	
  document	
  for	
  the	
  
Accounts	
  (where	
  supplied)	
  even	
  if	
  those	
  instance	
  documents	
  refer	
  to	
  concepts	
  defined	
  
in	
  multiple	
  Taxonomies	
  (e.g.	
  when	
  a	
  private	
  extension	
  Taxonomy	
  is	
  supplied).	
  
	
  

3.3	
  

XHTML	
  vs	
  HTML	
  

The	
  Inline	
  XBRL	
  Specification	
  is	
  designed	
  to	
  allow	
  Inline	
  XBRL	
  to	
  work	
  with	
  either	
  
HTML	
  or	
  XHTML.	
  The	
  choice	
  of	
  XHTML	
  for	
  the	
  HMRC	
  CT	
  online	
  service	
  is	
  made	
  for	
  us	
  by	
  
Page	
  3	
  of	
  18	
  
	
  

v1.3	
  –	
  December	
  2010	
  
	
  
the	
  UK	
  Govt	
  Gateway,	
  which	
  expects	
  submission	
  payloads	
  to	
  be	
  well-­‐formed	
  XML.	
  Only	
  
XHTML	
  meets	
  this	
  requirement.	
  
	
  
As	
  a	
  consequence	
  you	
  should	
  ensure	
  that	
  the	
  <html>	
  root	
  element	
  of	
  your	
  Inline	
  XBRL	
  
document	
  is	
  in	
  the	
  XHTML	
  namespace.	
  This	
  is	
  usually	
  achieved	
  by	
  setting	
  the	
  default	
  
namespace	
  for	
  the	
  document,	
  thus:	
  
	
  
xmlns='http://www.w3.org/1999/xhtml'

	
  
in	
  addition	
  to	
  all	
  the	
  other	
  namespace	
  declarations	
  required	
  for	
  Inline	
  XBRL	
  use.	
  In	
  
particular,	
  an	
  Inline	
  XBRL	
  document	
  is	
  recognised	
  by	
  the	
  presence	
  of	
  one	
  or	
  more	
  
elements	
  that	
  have	
  the	
  “http://www.xbrl.org/2008/inlineXBRL”	
  namespace	
  name.	
  
	
  
The	
  provision	
  of	
  a	
  DOCTYPE	
  declaration	
  for	
  Inline	
  XBRL	
  documents	
  is	
  not	
  
recommended	
  –	
  in	
  many	
  processing	
  situations	
  this	
  will	
  lead	
  to	
  an	
  unsuccessful	
  attempt	
  
to	
  validate	
  the	
  document	
  against	
  a	
  DTD.	
  A	
  full	
  modular	
  Schema	
  for	
  the	
  Inline	
  XBRL	
  
extension	
  to	
  XHTML	
  is	
  available,	
  a	
  full	
  Inline	
  XBRL	
  DTD	
  is	
  not.	
  
	
  
The	
  XHTML	
  version	
  attribute	
  may	
  be	
  used	
  to	
  identify	
  a	
  document	
  as	
  Inline	
  XBRL,	
  but	
  it	
  is	
  
not	
  recommended.	
  If	
  used,	
  the	
  value	
  must	
  be	
  the	
  Formal	
  Public	
  Identifier	
  “-//XBRL
International//DTD XHTML Inline XBRL 1.0//EN”,	
  as	
  of	
  11th	
  October	
  2010.	
  
	
  
The	
  use	
  of	
  XHTML	
  also	
  allows	
  more	
  rigorous	
  checking	
  of	
  the	
  mark-­‐up	
  (including	
  the	
  
Inline	
  XBRL	
  mark-­‐up	
  elements)	
  against	
  the	
  XHTML	
  modular	
  Schema,	
  reducing	
  the	
  
likelihood	
  of	
  HMRC	
  accepting	
  Inline	
  XBRL	
  that	
  renders	
  slightly	
  differently	
  in	
  different	
  
browsers.	
  
	
  

3.4	
  

Document	
  Encoding	
  &	
  Use	
  Of	
  “non-­‐standard”	
  Characters	
  

The	
  UK	
  Govt	
  Gateway	
  expects	
  submission	
  payloads	
  to	
  be	
  UTF-­‐82	
  encoded,	
  and	
  so	
  Inline	
  
XBRL	
  documents	
  submitted	
  to	
  the	
  HMRC	
  CT	
  online	
  service	
  must	
  also	
  be	
  UTF-­‐8	
  encoded	
  
by	
  default.	
  
	
  
If	
  your	
  Inline	
  XBRL	
  document	
  is	
  to	
  be	
  used	
  standalone	
  (e.g.	
  as	
  a	
  saved	
  version	
  of	
  the	
  
submitted	
  document)	
  then	
  it	
  is	
  advisable	
  to	
  provide	
  an	
  initial	
  XML	
  declaration	
  that	
  
explicitly	
  sets	
  the	
  document	
  encoding	
  to	
  UTF-­‐8,	
  thus:	
  
	
  
<?xml version="1.0" encoding="utf-8"?>

	
  
This	
  will	
  ensure	
  that	
  web	
  browsers	
  treat	
  the	
  document	
  as	
  intended	
  and	
  render	
  any	
  
embedded,	
  multi-­‐byte	
  UTF-­‐8-­‐encoded	
  characters	
  correctly.	
  HMRC	
  systems	
  will	
  always	
  
treat	
  the	
  content	
  as	
  UTF-­‐8	
  encoded,	
  so	
  this	
  ensures	
  that	
  character	
  renderings	
  are	
  
consistent	
  on	
  both	
  sides	
  of	
  the	
  fence.	
  
	
  
When	
  embedding	
  an	
  Inline	
  XBRL	
  document	
  in	
  the	
  CT600	
  <InlineXBRLDocument>	
  or	
  
<EncodedInlineXBRLDocument>	
  element	
  the	
  XML	
  declaration	
  must	
  be	
  removed.	
  The	
  
complete	
  XML	
  transaction	
  (rooted	
  at	
  <GovTalkMessage>)	
  should	
  have	
  an	
  initial	
  XML	
  
declaration	
  containing	
  ‘encoding=”utf-­‐8”’	
  which	
  will	
  apply	
  to	
  the	
  transaction	
  document	
  
as	
  a	
  whole.	
  
	
  

	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  
2	
  8-­‐bit	
  UCS/Unicode	
  Transformation	
  Format	
  –	
  see	
  http://www.unicode.org,	
  http://wikipedia.org/wiki/Unicode	
  
and	
  http://wikipedia.org/wiki/UTF-­‐8	
  	
  

Page	
  4	
  of	
  18	
  
	
  

v1.3	
  –	
  December	
  2010	
  
	
  
There	
  are	
  two	
  principal	
  methods	
  of	
  including	
  “non-­‐standard”	
  (a	
  euphemism	
  for	
  
characters	
  that	
  fall	
  outside	
  of	
  the	
  ASCII	
  7-­‐bit	
  character	
  set)	
  characters	
  in	
  Inline	
  XBRL	
  
documents	
  (such	
  characters	
  may	
  include	
  currency	
  symbols,	
  simple	
  graphic	
  symbols,	
  
accented	
  characters,	
  etc).	
  The	
  first	
  is	
  to	
  use	
  the	
  appropriate	
  UTF-­‐8	
  encoding,	
  which	
  will	
  
usually	
  (but	
  not	
  always)	
  be	
  a	
  two-­‐byte	
  value,	
  both	
  of	
  which	
  will	
  have	
  their	
  top	
  (i.e.	
  8th)	
  
bit	
  set.	
  So	
  long	
  as	
  the	
  document	
  encoding	
  is	
  correctly	
  set	
  then	
  browsers	
  or	
  other	
  display	
  
tools	
  will	
  be	
  able	
  to	
  interpret	
  these	
  bytes	
  correctly	
  as	
  the	
  appropriate	
  character.	
  
However,	
  be	
  aware	
  that	
  text	
  editors	
  and	
  other	
  display	
  tools	
  that	
  don’t	
  understand	
  
document	
  encodings	
  and	
  treat	
  the	
  content	
  as	
  7-­‐bit	
  ASCII	
  will	
  not	
  display	
  UTF-­‐8	
  encoded	
  
characters	
  correctly,	
  and	
  if	
  used	
  to	
  modify	
  a	
  document	
  with	
  embedded	
  UTF-­‐8	
  encoded	
  
characters	
  may	
  actually	
  destroy	
  or	
  alter	
  the	
  encoding	
  such	
  that	
  it	
  no	
  longer	
  renders	
  
correctly	
  in	
  UTF-­‐8-­‐aware	
  applications.	
  
	
  
To	
  avoid	
  such	
  eventualities,	
  if	
  needs	
  be,	
  the	
  second	
  method	
  may	
  be	
  employed.	
  XML	
  (of	
  
which	
  XHTML	
  is	
  an	
  application)	
  provides	
  for	
  escaped	
  character	
  references	
  of	
  the	
  form	
  
“&#xxxx;”	
  where	
  “xxxx”	
  may	
  be	
  replaced	
  by	
  a	
  decimal	
  number	
  representing	
  the	
  Unicode	
  
code	
  point	
  (see	
  http://wikipedia.org/wiki/Code_point	
  for	
  more	
  details)	
  of	
  the	
  character	
  
glyph	
  to	
  be	
  displayed.	
  For	
  example,	
  here	
  are	
  some	
  common	
  symbol	
  glyphs	
  and	
  their	
  
character	
  reference	
  equivalents:	
  
	
  
	
  
£	
  (pound	
  sign)	
  	
  
£	
  
	
  
€	
  (euro	
  sign)	
   	
  
€	
  
	
  
©	
  (copyright)	
   	
  
©	
  
	
  
Such	
  code	
  point	
  values	
  are	
  also	
  encoded	
  into	
  the	
  bytes	
  of	
  a	
  UTF-­‐8	
  encoded	
  multi-­‐byte	
  
character	
  –	
  you	
  can	
  think	
  of	
  an	
  XML	
  character	
  reference	
  and	
  a	
  UTF-­‐8-­‐encoded	
  character	
  
as	
  two	
  alternative	
  ways	
  of	
  specifying	
  a	
  Unicode	
  code	
  point,	
  which	
  in	
  turn	
  represents	
  a	
  
particular	
  character	
  glyph.	
  
	
  
The	
  advantage	
  of	
  the	
  second	
  method	
  is	
  that	
  non-­‐UTF-­‐8-­‐aware	
  text	
  editors	
  and	
  text	
  
display	
  tools	
  will	
  not	
  disrupt	
  or	
  damage	
  the	
  character	
  references,	
  though	
  they	
  will	
  not	
  
be	
  displayed	
  as	
  intended.	
  
	
  
The	
  exceptions	
  to	
  the	
  rule	
  are	
  the	
  five	
  characters	
  special	
  to	
  XML	
  mark-­‐up:	
  ‘<’,	
  ‘>’,	
  ‘&’,	
  ‘’’	
  
and	
  ‘”’.	
  Their	
  ASCII	
  character	
  representations	
  are	
  UTF-­‐8	
  compatible,	
  so	
  to	
  protect	
  them	
  
from	
  interpretation	
  by	
  XML-­‐aware	
  processors,	
  XML	
  provides	
  five	
  named	
  character	
  
entities	
  to	
  escape	
  them	
  (“<”,	
  “>”,	
  “&”,	
  “'”	
  and	
  “"”).	
  You	
  can	
  use	
  
these	
  named	
  character	
  entities	
  in	
  preference	
  to	
  the	
  five	
  equivalent	
  numeric	
  character	
  
references	
  if	
  you	
  wish.	
  
	
  
It	
  is	
  recommended	
  that	
  you	
  avoid	
  using	
  named	
  character	
  entities	
  aside	
  from	
  these	
  five	
  
“special”	
  ones.	
  Named	
  character	
  entities	
  are	
  usually	
  defined	
  in	
  a	
  DTD	
  (Document	
  Type	
  
Definition)	
  and	
  the	
  XHTML	
  DTD	
  defines	
  quite	
  a	
  number	
  of	
  them.	
  However,	
  Inline	
  XBRL	
  
does	
  not	
  have	
  a	
  fully	
  defined	
  DTD	
  (the	
  preference	
  being	
  for	
  the	
  modular	
  XHTML	
  
Schema)	
  meaning	
  that	
  the	
  interpretation	
  of	
  these	
  named	
  entities	
  becomes	
  browser	
  
dependent.	
  
	
  

3.5	
  

Java	
  Applets,	
  JavaScript	
  

Java	
  applets,	
  JavaScript,	
  and	
  any	
  other	
  HTML	
  <script>	
  content,	
  is	
  embedded	
  code	
  
executed	
  by	
  a	
  browser	
  or	
  other	
  rendering	
  engine,	
  and	
  presents	
  an	
  unacceptable	
  security	
  
risk	
  for	
  HMRC	
  internal	
  systems.	
  It	
  is	
  therefore	
  not	
  possible	
  to	
  submit	
  Inline	
  XBRL	
  

Page	
  5	
  of	
  18	
  
	
  

v1.3	
  –	
  December	
  2010	
  
	
  
documents	
  with	
  embedded	
  applets	
  or	
  script	
  fragments	
  of	
  any	
  kind	
  either	
  to	
  animate	
  the	
  
document	
  or	
  enhance	
  the	
  look	
  &	
  feel	
  of	
  the	
  document.	
  
	
  
Tax	
  Computations	
  and	
  Accounts	
  are	
  not	
  documents	
  that	
  have	
  traditionally	
  been	
  
adorned	
  with	
  dynamic	
  content	
  or	
  sophisticated	
  presentation	
  (at	
  least	
  not	
  for	
  regulatory	
  
purposes!).	
  House	
  styles	
  or	
  particular	
  look	
  &	
  feels	
  are	
  best	
  achieved	
  with	
  CSS	
  –	
  see	
  
below.	
  
	
  

3.6	
  

CSS	
  styling	
  

Cascading	
  Style	
  Sheet	
  (CSS)	
  language	
  is	
  the	
  de	
  facto	
  standard	
  means	
  by	
  which	
  stylistic	
  
information	
  is	
  added	
  to	
  the	
  rendering	
  of	
  (X)HTML	
  documents	
  by	
  web	
  browsers	
  and	
  
users	
  of	
  the	
  HMRC	
  CT	
  online	
  service	
  have	
  free	
  rein	
  to	
  style	
  Inline	
  XBRL	
  documents	
  using	
  
it	
  in	
  any	
  way	
  they	
  see	
  fit.	
  
	
  
If	
  CSS	
  is	
  required	
  it	
  must	
  be	
  embedded	
  in	
  the	
  Inline	
  XBRL	
  document	
  directly.	
  It	
  is	
  not	
  
possible	
  to	
  provide	
  a	
  separate	
  (.css)	
  file	
  for	
  inclusion,	
  even	
  with	
  multiple	
  Inline	
  XBRL	
  
input	
  documents.	
  In	
  these	
  cases,	
  duplicate	
  the	
  CSS	
  declarations	
  as	
  necessary	
  in	
  each	
  
input	
  document.	
  If	
  you	
  are	
  using	
  multiple	
  Inline	
  XBRL	
  input	
  documents	
  because	
  of	
  the	
  
size	
  of	
  the	
  submission	
  document	
  the	
  duplicate	
  CSS	
  script	
  is	
  hardly	
  going	
  to	
  make	
  
matters	
  worse.	
  
	
  

3.7	
  

Pagination	
  

Inline	
  XBRL	
  documents	
  submitted	
  to	
  the	
  HMRC	
  CT	
  online	
  service	
  will	
  not	
  be	
  printed	
  
within	
  HMRC	
  as	
  a	
  matter	
  of	
  course,	
  but	
  there	
  will	
  be	
  occasions	
  when	
  it	
  is	
  appropriate	
  or	
  
necessary	
  to	
  do	
  so.	
  To	
  facilitate	
  this,	
  page	
  breaks	
  should	
  be	
  inserted	
  at	
  appropriate	
  
points	
  in	
  the	
  Inline	
  XBRL	
  document	
  to	
  ensure	
  that	
  printed	
  output	
  looks	
  as	
  neat	
  and	
  as	
  
presentable	
  as	
  possible.	
  Page	
  breaks	
  should	
  be	
  inserted	
  before	
  major	
  headings,	
  tables,	
  
front-­‐sheets,	
  etc.	
  to	
  ensure	
  that,	
  as	
  much	
  as	
  possible,	
  important	
  information	
  isn’t	
  spread	
  
over	
  a	
  physical	
  page	
  boundary.	
  These	
  breaks	
  should	
  mirror	
  the	
  page	
  breaks	
  inserted	
  by	
  
generating	
  applications	
  when	
  producing	
  local	
  renderings	
  in	
  other	
  formats	
  (e.g.	
  plain	
  
text,	
  PDF,	
  Word).	
  
	
  
In	
  XHTML,	
  “page	
  break	
  before”	
  and	
  “page	
  break	
  after”	
  styles	
  can	
  be	
  applied	
  to	
  mark-­‐up	
  
elements	
  directly,	
  thus:	
  
<p style=”page-break-after: always”>……</p>

(1)

<table style=”page-break-before: always”>……</table>

(2)

	
  
They	
  can	
  also	
  be	
  included	
  in	
  macros	
  and	
  bound	
  to	
  elements	
  of	
  a	
  particular	
  class.	
  
Example	
  (1)	
  above	
  forces	
  a	
  page-­‐break	
  after	
  the	
  content	
  between	
  the	
  paragraph	
  tags	
  has	
  
been	
  output,	
  and	
  example	
  (2)	
  above	
  forces	
  a	
  page-­‐break	
  before	
  the	
  table	
  is	
  output.	
  For	
  a	
  
full	
  list	
  of	
  page-­‐breaking	
  styles,	
  their	
  values	
  and	
  their	
  resulting	
  behaviours	
  please	
  refer	
  
to	
  documentation	
  or	
  reference	
  material	
  for	
  CSS.	
  
	
  

3.8	
  

Images,	
  logos,	
  etc	
  

Within	
  the	
  HMRC	
  environment	
  there	
  is	
  no	
  scope	
  to	
  refer	
  to	
  external	
  image	
  files	
  by	
  URL,	
  
so	
  any	
  logos	
  or	
  small	
  images	
  that	
  are	
  integral	
  to	
  the	
  look	
  &	
  feel	
  of	
  a	
  submitted	
  Inline	
  
XBRL	
  document	
  should	
  be	
  inlined	
  as	
  a	
  base64-­‐encoded	
  string	
  in	
  the	
  URI	
  value	
  normally	
  
used	
  to	
  reference	
  an	
  image	
  file	
  using	
  the	
  ‘data’	
  URI	
  scheme.	
  E.g.:	
  
Page	
  6	
  of	
  18	
  
	
  

v1.3	
  –	
  December	
  2010	
  
	
  
	
  
	
  	
  	
  	
  	
  <img src=”data:image/png;base64,xxx…xxx” alt=”TestCo Ltd logo” />
	
  
where	
  ‘xxx…xxx’	
  is	
  the	
  base64-­‐encoding	
  of	
  the	
  image	
  whose	
  mime-­‐type	
  is	
  ‘image/png’	
  
(GIF,	
  JPG	
  and	
  PNG	
  are	
  the	
  only	
  widely	
  supported	
  image	
  formats).	
  
	
  
This	
  technique	
  is	
  manageable	
  with	
  relatively	
  small	
  images,	
  logos,	
  etc.,	
  but	
  should	
  be	
  
used	
  sparingly	
  to	
  avoid	
  bloating	
  the	
  overall	
  Inline	
  XBRL	
  document.	
  If	
  an	
  image	
  is	
  
required	
  in	
  more	
  than	
  one	
  location	
  it	
  is	
  possible	
  to	
  create	
  a	
  CSS	
  macro	
  utilising	
  the	
  
background:url	
  style	
  and	
  passing	
  it	
  the	
  inlined	
  URI.	
  E.g.	
  (assuming	
  a	
  100x100	
  pixel	
  
image):	
  
	
  
DIV.img {
width:100px;
height:100px;
background:url(data:image/png;base64,xxx…xxx);
}	
  

	
  
This	
  technique	
  ensures	
  that	
  only	
  one	
  physical	
  instance	
  of	
  a	
  base64-­‐encoded	
  image	
  is	
  
included	
  in	
  an	
  Inline	
  XBRL	
  document.	
  Support	
  for	
  inlined	
  images	
  in	
  web	
  browsers	
  is	
  
widespread	
  but	
  not	
  universal	
  –	
  check	
  your	
  intended	
  target	
  browser	
  audience	
  carefully	
  
before	
  embarking	
  upon	
  the	
  use	
  of	
  this	
  feature.	
  
	
  

3.9	
  

XML	
  Canonicalisation	
  &	
  Encoding	
  Submissions	
  

Since	
  XHTML	
  is	
  legal	
  XML	
  it	
  will	
  canonicalise	
  (for	
  the	
  purposes	
  of	
  HMRC	
  IRmark	
  
creation)	
  successfully,	
  though	
  as	
  with	
  other	
  HMRC	
  services	
  that	
  support	
  IRmark,	
  the	
  
explicit	
  canonicalisation	
  step	
  can,	
  with	
  care,	
  simply	
  be	
  avoided	
  by	
  generating	
  canonical	
  
XML	
  (XHTML)	
  in	
  the	
  first	
  place.	
  
	
  
With	
  large	
  Inline	
  XBRL	
  (i.e.	
  XHTML)	
  documents	
  that	
  cannot	
  be	
  generated	
  in	
  canonical	
  
form	
  the	
  performance	
  of	
  client-­‐side	
  canonicalisation	
  may	
  leave	
  something	
  to	
  be	
  desired	
  
–	
  if	
  this	
  is	
  the	
  case	
  the	
  canonicalisation	
  step	
  can	
  be	
  avoided,	
  at	
  the	
  cost	
  of	
  an	
  encoding	
  
step,	
  by	
  using	
  the	
  CT600	
  XML	
  <EncodedInlineXBRLDocument>	
  element	
  in	
  preference	
  to	
  
the	
  <InlineXBRLDocument>	
  element	
  and	
  providing	
  a	
  base64-­‐encoded	
  string	
  version	
  of	
  
the	
  Inline	
  XBRL	
  document	
  instead.	
  Base64-­‐encoded	
  Inline	
  XBRL	
  documents	
  are	
  decoded	
  
by	
  the	
  HMRC	
  CT	
  online	
  service	
  and	
  treated	
  identically	
  to	
  “ordinary”	
  Inline	
  XBRL	
  
documents	
  (except	
  where	
  the	
  Inline	
  XBRL	
  document	
  is	
  not	
  well-­‐formed	
  XML	
  –	
  an	
  error	
  
will	
  be	
  raised	
  by	
  HMRC’s	
  validation	
  system	
  rather	
  than	
  by	
  the	
  Govt	
  Gateway).	
  
	
  
Inline	
  XBRL	
  introduces	
  a	
  number	
  of	
  extra	
  and	
  unfamiliar	
  namespace	
  declarations	
  and	
  
attributes	
  –	
  care	
  should	
  be	
  taken	
  to	
  make	
  sure	
  that	
  all	
  namespace	
  declarations	
  and	
  
attributes	
  are	
  ordered	
  correctly	
  and	
  all	
  superfluous	
  namespace	
  declarations	
  are	
  
removed	
  (see	
  the	
  document	
  ordering	
  section	
  of	
  the	
  XML	
  Canonicalisation	
  Spec:	
  
http://www.w3.org/TR/xml-­‐c14n#DocumentOrder	
  for	
  details).	
  
	
  

3.10	
   HTML	
  <title>	
  Element	
  
The	
  (X)HTML	
  <title>	
  element	
  (placed	
  in	
  the	
  document	
  <head>	
  part)	
  provides	
  an	
  
opportunity	
  for	
  a	
  document	
  author	
  (or	
  creator	
  application)	
  to	
  set	
  the	
  title	
  of	
  the	
  window	
  
in	
  which	
  the	
  document	
  is	
  displayed	
  in	
  a	
  typical	
  desktop	
  window-­‐based	
  operating	
  system	
  
–	
  the	
  title	
  is	
  usually	
  displayed	
  in	
  the	
  header	
  or	
  title	
  bar	
  of	
  the	
  window,	
  and	
  may	
  be	
  used	
  
to	
  identify	
  the	
  window	
  in	
  other	
  contexts	
  (menus	
  of	
  open	
  windows,	
  context	
  switchers,	
  

Page	
  7	
  of	
  18	
  
	
  

v1.3	
  –	
  December	
  2010	
  
	
  
etc).	
  It	
  is	
  therefore	
  desirable	
  that	
  the	
  browser	
  (or	
  other	
  application)	
  window	
  is	
  readily	
  
identifiable	
  amongst	
  a	
  number	
  of	
  other,	
  potentially	
  similar,	
  open	
  windows.	
  
	
  
We	
  recommend,	
  therefore,	
  that	
  you	
  avoid	
  static	
  and	
  innocuous-­‐sounding	
  titles	
  (such	
  as	
  
“iXBRL	
  doc”	
  or	
  “Computation”)	
  and	
  use	
  a	
  combination	
  of	
  the	
  Company	
  Name	
  and	
  the	
  
financial	
  report	
  type,	
  e.g.:	
  
	
  
	
  
<title>ACME Boats, Ltd – Computation
	
  
or	
  
	
  
	
  
ACME Boats, Ltd – Accounts
	
  
This	
  will	
  ensure	
  document	
  windows	
  can	
  be	
  quickly	
  located	
  and	
  uniquely	
  identified	
  by	
  
your	
  users	
  (who	
  may	
  be	
  agents	
  dealing	
  with	
  a	
  number	
  of	
  customers)	
  and	
  HMRC	
  staff	
  
alike.	
  

Page	
  8	
  of	
  18	
  
	
  

v1.3	
  –	
  December	
  2010	
  
	
  

4.	
  Element	
  level	
  Issues	
  
4.1	
  

Transformation	
  rules	
  

The	
  Inline	
  XBRL	
  Transformation	
  Rules	
  Registry,	
  which	
  is	
  Part	
  3	
  of	
  the	
  Inline	
  XBRL	
  
Specification,	
  defines	
  all	
  the	
  transformation	
  rules	
  that	
  are	
  applied	
  to	
  displayed	
  fact	
  
values	
  in	
  an	
  Inline	
  XBRL	
  document	
  to	
  turn	
  them	
  into	
  canonical	
  XSD	
  type	
  representations	
  
suitable	
  for	
  inclusion	
  in	
  the	
  resulting	
  XBRL	
  target	
  document.	
  For	
  completeness,	
  the	
  
current	
  transformation	
  rules,	
  at	
  the	
  time	
  or	
  writing,	
  are	
  enumerated	
  here	
  with	
  an	
  
explanation	
  of	
  the	
  effect	
  of	
  each	
  one:	
  
	
  
•
numcomma	
  
Re-­‐formats	
  numbers	
  using	
  comma	
  as	
  fraction	
  separator	
  
into	
  XSD	
  non-­‐negative	
  decimal	
  type	
  
•
numcommadot	
  
Re-­‐formats	
  numbers	
  using	
  commas	
  as	
  thousands	
  separator	
  
and	
  dot	
  as	
  fraction	
  separator	
  into	
  XSD	
  non-­‐negative	
  
decimal	
  type	
  
•
numdash	
  
Re-­‐formats	
  accounting	
  notation	
  ‘-­‐‘	
  as	
  value	
  zero	
  in	
  XSD	
  non-­‐
negative	
  decimal	
  type	
  
•
numdotcomma	
  
Re-­‐formats	
  numbers	
  using	
  dot	
  as	
  thousands	
  separator	
  and	
  
comma	
  as	
  fraction	
  separator	
  into	
  XSD	
  non-­‐negative	
  decimal	
  
type	
  
•
numspacedot	
  
Re-­‐formats	
  numbers	
  using	
  space	
  as	
  thousands	
  separator	
  
and	
  dot	
  as	
  fraction	
  separator	
  into	
  XSD	
  non-­‐negative	
  
decimal	
  type	
  
•
numspacecomma	
   Re-­‐formats	
  numbers	
  using	
  space	
  as	
  thousands	
  separator	
  
and	
  comma	
  as	
  fraction	
  separator	
  into	
  XSD	
  non-­‐negative	
  
decimal	
  type	
  
•
dateslashus	
  
Re-­‐formats	
  a	
  US-­‐style	
  slash-­‐separated	
  date	
  
(MM/DD/(YY)YY)	
  into	
  XSD	
  date	
  format	
  
•
dateslasheu	
  
Re-­‐formats	
  a	
  EU-­‐style	
  slash-­‐separated	
  date	
  
(DD/MM/(YY)YY)	
  into	
  XSD	
  date	
  format	
  
•
datedotus	
  
Re-­‐formats	
  a	
  US-­‐style	
  dot-­‐separated	
  date	
  (MM.DD.(YY)YY)	
  
into	
  XSD	
  date	
  format	
  	
  
•
datedoteu	
  
Re-­‐formats	
  an	
  EU-­‐style	
  dot-­‐separated	
  date	
  
(DD.MM.(YY)YY)	
  into	
  XSD	
  date	
  format	
  
•
datelongus	
  
Re-­‐formats	
  a	
  US-­‐style	
  long	
  date	
  (Month	
  DD,	
  (YY)YY)	
  into	
  
XSD	
  date	
  format	
  	
  
•
datelonguk	
  
Re-­‐formats	
  a	
  UK-­‐style	
  long	
  date	
  (DD	
  Month	
  (YY)YY)	
  into	
  
XSD	
  date	
  format	
  
•
dateshortus	
  
Re-­‐formats	
  a	
  US-­‐style	
  short	
  date	
  (mon	
  DD,	
  (YY)YY)	
  into	
  
XSD	
  date	
  format	
  
•
dateshortuk	
  
Re-­‐formats	
  a	
  UK-­‐style	
  short	
  date	
  (DD	
  mon	
  (YY)YY)	
  into	
  XSD	
  
date	
  format	
  
	
  
Note	
  that	
  the	
  Registry	
  may	
  grow	
  over	
  time	
  as	
  new	
  transforms	
  are	
  added,	
  and	
  you	
  are	
  
advised	
  to	
  check	
  the	
  latest	
  version	
  for	
  an	
  up	
  to	
  date	
  list.	
  	
  
	
  
For	
  all	
  versions	
  of	
  the	
  Inline	
  XBRL	
  Specification	
  prior	
  to	
  the	
  final	
  Recommendation	
  the	
  
namespace	
  for	
  the	
  Transformation	
  Rules	
  Registry	
  is:	
  	
  
	
  
http://www.xbrl.org/2008/inlineXBRL/transformation	
  
	
  
Page	
  9	
  of	
  18	
  
	
  

v1.3	
  –	
  December	
  2010	
  
	
  
The	
  Transformation	
  Rules	
  Registry	
  namespace	
  for	
  the	
  final	
  Recommendation	
  is:	
  
http://www.xbrl.org/inlineXBRL/transformation/2010-­‐04-­‐20	
  	
  
	
  
The	
  change	
  to	
  introduce	
  a	
  date	
  component	
  is	
  intended	
  to	
  allow	
  future	
  updates	
  to	
  the	
  
Registry	
  to	
  be	
  separately	
  versioned	
  and	
  identified.	
  
	
  
At	
  present	
  the	
  correct	
  Transformation	
  Rules	
  Registry	
  namespace	
  is	
  the	
  former,	
  
unversioned,	
  URI.	
  The	
  latter,	
  versioned,	
  URI	
  is	
  not	
  recognised.	
  When	
  the	
  CT	
  online	
  
service	
  moves	
  to	
  final	
  Recommendation	
  conformance	
  the	
  versioned	
  URI	
  will	
  be	
  strongly	
  
preferred	
  though	
  the	
  two	
  will	
  be	
  completely	
  interchangeable.	
  However,	
  to	
  ensure	
  
backwards-­‐compatibility	
  the	
  unversioned	
  namespace	
  will	
  continue	
  to	
  be	
  supported	
  for	
  
a	
  period	
  of	
  at	
  least	
  a	
  year	
  to	
  allow	
  for	
  Inline	
  XBRL	
  generation	
  software	
  to	
  be	
  migrated.	
  
	
  

4.2

Duplication	
  of	
  marked-­‐up	
  facts	
  

4.2.1	
   De-­‐duplication	
  
The	
  4th	
  Inline	
  XBRL	
  Candidate	
  Recommendation,	
  to	
  which	
  the	
  HMRC	
  CT	
  online	
  service	
  
conformed	
  until	
  11th	
  October	
  2010	
  did	
  not	
  provide	
  for	
  any	
  automatic	
  de-­‐duplication	
  of	
  
identical	
  facts	
  during	
  transformation	
  to	
  the	
  target	
  XBRL	
  document.	
  This	
  allowed	
  non-­‐
tuple-­‐member	
  marked-­‐up	
  facts	
  to	
  be	
  legally	
  duplicated	
  in	
  the	
  Inline	
  XBRL	
  document	
  
because	
  duplicate	
  non-­‐tuple-­‐member	
  facts	
  are	
  permitted	
  in	
  the	
  target	
  XBRL	
  document.	
  
	
  
However,	
  only	
  one	
  occurrence	
  of	
  a	
  set	
  of	
  duplicate	
  tuple-­‐member	
  facts	
  could	
  be	
  marked	
  
up.	
  This	
  was	
  a	
  deliberate	
  limitation	
  of	
  the	
  HMRC	
  CT	
  online	
  service	
  designed	
  to	
  avoid	
  the	
  
inadvertent	
  violation	
  of	
  tuple	
  content	
  models	
  that	
  might	
  lead	
  to	
  a	
  Schema-­‐invalid	
  target	
  
XBRL	
  document.	
  Attempts	
  to	
  mark-­‐up	
  duplicate	
  tuple-­‐member	
  facts	
  (i.e.	
  those	
  
belonging	
  to	
  the	
  same	
  tuple	
  and	
  with	
  identical	
  order	
  attribute	
  values)	
  would	
  therefore	
  
have	
  been	
  rejected	
  by	
  the	
  HMRC	
  CT	
  online	
  service	
  prior	
  to	
  11th	
  October	
  2010.	
  	
  
	
  
The	
  Inline	
  XBRL	
  Proposed	
  Recommendation	
  provides	
  a	
  mechanism	
  to	
  allow	
  conforming	
  
processors	
  to	
  de-­‐duplicate	
  identical	
  tuple-­‐member	
  facts.	
  This	
  allows	
  document	
  creators	
  
to	
  mark-­‐up	
  all	
  duplicate	
  facts	
  regardless	
  of	
  their	
  status	
  as	
  tuple	
  members	
  or	
  
independent	
  concepts.	
  Duplicate	
  facts	
  that	
  are	
  not	
  tuple	
  members	
  may	
  still	
  be	
  present	
  in	
  
the	
  target	
  XBRL	
  document,	
  but	
  this	
  is	
  not	
  illegal	
  XBRL.	
  
	
  
The	
  step	
  up	
  from	
  the	
  4th	
  Candidate	
  Recommendation	
  to	
  the	
  Proposed	
  Recommendation	
  
(and	
  beyond,	
  to	
  the	
  final	
  Recommendation)	
  preserves	
  backwards-­‐compatibility	
  and	
  will	
  
not	
  break	
  Inline	
  XBRL	
  production	
  applications	
  compliant	
  with	
  the	
  4th	
  Candidate	
  
Recommendation	
  that	
  are	
  already	
  being	
  used	
  by	
  your	
  customers.	
  
	
  

4.2.2	
   Equivalence	
  
Identical	
  tuple-­‐member	
  facts	
  are	
  identified	
  as	
  such	
  by	
  a	
  simple	
  string	
  equivalence	
  test	
  –	
  
fact	
  values,	
  irrespective	
  of	
  their	
  type,	
  are	
  compared,	
  character	
  by	
  character,	
  after	
  being	
  
whitespace-­‐normalised.	
  Whitespace	
  normalisation,	
  which	
  is	
  equivalent	
  to	
  the	
  XML	
  
Schema	
  whiteSpace	
  facet	
  being	
  set	
  to	
  collapse,	
  involves	
  the	
  substitution	
  of	
  tabs,	
  linefeeds	
  
and	
  carriage	
  returns	
  by	
  the	
  space	
  character,	
  and	
  the	
  subsequent	
  conversion	
  of	
  multiple	
  
spaces	
  to	
  a	
  single	
  space.	
  Finally,	
  any	
  leading	
  or	
  trailing	
  spaces	
  are	
  eliminated.	
  For	
  
numeric	
  data	
  this	
  kind	
  of	
  normalisation	
  will	
  usually	
  have	
  no	
  effect,	
  but	
  for	
  text	
  it	
  ensures	
  
that	
  insignificant	
  whitespace	
  (line	
  breaks,	
  double	
  spaces,	
  etc)	
  is	
  generally	
  disregarded	
  
for	
  comparison	
  purposes.	
  
	
  

Page	
  10	
  of	
  18	
  
	
  

v1.3	
  –	
  December	
  2010	
  
	
  
This	
  kind	
  of	
  simple-­‐minded	
  equivalence	
  test	
  avoids	
  the	
  need	
  for	
  Inline	
  XBRL	
  processors	
  
to	
  be	
  aware	
  of	
  the	
  type	
  of	
  the	
  values	
  being	
  compared	
  (becoming	
  Taxonomy-­‐aware	
  
would	
  add	
  significant	
  overhead	
  to	
  the	
  performance	
  of	
  Inline	
  XBRL	
  processors)	
  but	
  there	
  
are	
  potential	
  pitfalls	
  –	
  numbers	
  expressed	
  to	
  different	
  levels	
  of	
  precision,	
  or	
  in	
  different	
  
mathematical	
  notations,	
  will	
  not	
  appear	
  to	
  be	
  equivalent	
  when	
  semantically	
  they	
  are.	
  	
  
	
  

4.3	
  

Escaped	
  HTML	
  in	
  non-­‐numeric	
  data	
  

The	
  Inline	
  XBRL	
  5th	
  Candidate	
  Recommendation	
  introduced	
  a	
  capability	
  to	
  allow	
  textual	
  
data	
  in	
  a	
  nonNumeric	
  marked-­‐up	
  fact	
  to	
  contain	
  ‘escaped’	
  (X)HTML	
  formatting.	
  This	
  is	
  
not	
  a	
  feature	
  of	
  the	
  Specification	
  that	
  will	
  be	
  supported	
  by	
  the	
  HMRC	
  CT	
  service.	
  
	
  
Normally,	
  any	
  (X)HTML	
  mark-­‐up	
  in	
  a	
  nonNumeric	
  element	
  will	
  be	
  eliminated,	
  and	
  
leading	
  and	
  trailing	
  whitespace	
  removed,	
  before	
  transformation	
  to	
  the	
  target	
  XBRL	
  
instance	
  document	
  value.	
  
	
  

4.4	
  

Number	
  Signs	
  

Numbers	
  represented	
  in	
  XBRL	
  (and	
  Inline	
  XBRL)	
  are	
  generally	
  positive	
  in	
  value,	
  
notwithstanding	
  the	
  value	
  of	
  the	
  ‘balance’	
  attribute	
  in	
  the	
  concept’s	
  definition,	
  which	
  is	
  
usually	
  of	
  use	
  only	
  in	
  calculation	
  relationships.	
  Where	
  a	
  genuine	
  negative	
  value	
  is	
  
required	
  in	
  the	
  target	
  XBRL	
  document	
  (e.g.	
  to	
  show	
  a	
  loss	
  for	
  a	
  concept	
  that	
  is	
  defined	
  in	
  
terms	
  of	
  profit)	
  the	
  ‘sign’	
  attribute	
  in	
  the	
  Inline	
  XBRL	
  mark-­‐up	
  should	
  be	
  used	
  to	
  
indicate	
  this.	
  
	
  
The	
  representation	
  of	
  the	
  sign	
  in	
  the	
  Inline	
  XBRL	
  document	
  rendering	
  is	
  completely	
  
separate	
  and	
  is	
  a	
  function	
  of	
  the	
  XHTML	
  mark-­‐up	
  that	
  surrounds	
  the	
  marked-­‐up	
  fact.	
  
That	
  mark-­‐up	
  might	
  indicate	
  a	
  negative	
  value	
  with	
  surrounding	
  brackets,	
  or	
  by	
  a	
  leading	
  
minus	
  sign,	
  or	
  by	
  changing	
  the	
  font	
  to	
  red	
  (or	
  a	
  combination	
  of	
  these)	
  –	
  the	
  point	
  is	
  that	
  
none	
  of	
  these	
  adornments,	
  by	
  themselves,	
  have	
  any	
  influence	
  over	
  the	
  sign	
  of	
  the	
  value	
  
that	
  ends	
  up	
  in	
  the	
  target	
  XBRL	
  document,	
  which	
  by	
  default	
  will	
  be	
  positive	
  unless	
  the	
  
sign	
  attribute	
  is	
  used	
  as	
  an	
  indicator.	
  
	
  
The	
  following	
  examples	
  should	
  illustrate	
  the	
  differences3:	
  
	
  
a. Negative	
  underlying	
  value	
  with	
  negative	
  portrayal	
  
	
  
The	
  monetary	
  fact	
  representing	
  a	
  loss	
  in	
  a	
  statement	
  of	
  the	
  form:	
  
	
  
	
  
	
  	
  Profit	
  (Loss)	
  before	
  Tax	
  
	
  
	
  
(345,678)	
  
	
  
in	
  the	
  Inline	
  XBRL	
  rendering	
  of	
  a	
  set	
  of	
  Accounts	
  might	
  be	
  marked	
  up	
  in	
  the	
  Inline	
  
XBRL	
  document	
  as	
  a	
  table	
  data	
  item	
  as	
  follows:	
  
	
  
(345,678)

	
  
Note	
  that	
  the	
  brackets	
  are	
  outside	
  the	
  Inline	
  XBRL	
  mark-­‐up	
  so	
  as	
  not	
  to	
  interfere	
  with	
  
the	
  value	
  that	
  is	
  transformed	
  for	
  the	
  target	
  XBRL	
  instance	
  document.	
  The	
  presence	
  of	
  

	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  
3	
  Items	
  names	
  deliberately	
  shortened	
  and	
  stripped	
  of	
  namespace	
  prefixes,	
  and	
  some	
  attributes	
  omitted,	
  to	
  
avoid	
  complicating	
  the	
  examples.	
  

Page	
  11	
  of	
  18	
  
	
  

v1.3	
  –	
  December	
  2010	
  
	
  
the	
  sign	
  attribute	
  results	
  in	
  a	
  negative	
  value	
  in	
  the	
  resulting	
  XBRL	
  instance	
  document	
  
that	
  correctly	
  indicates	
  that	
  the	
  value	
  represents	
  a	
  loss	
  rather	
  than	
  a	
  profit:	
  
	
  
	
  	
  	
  	
  	
  	
  	
  	
  	
  -345678
	
  
The	
  item	
  PBT	
  would	
  normally	
  be	
  defined	
  in	
  the	
  Taxonomy	
  with	
  its	
  balance	
  set	
  to	
  
‘credit’	
  to	
  indicate	
  that	
  where	
  a	
  profit	
  is	
  reported,	
  it	
  is	
  naturally	
  thought	
  of	
  as	
  an	
  
increase	
  in	
  funds	
  (i.e.	
  a	
  credit),	
  and	
  so	
  a	
  loss	
  must	
  be	
  explicitly	
  negated.	
  
	
  
b. Positive	
  underlying	
  value	
  with	
  negative	
  portrayal	
  
	
  
The	
  monetary	
  fact	
  representing	
  cost	
  of	
  sales	
  in	
  a	
  statement	
  of	
  the	
  form:	
  
	
  
	
  
	
  	
  	
  Cost	
  of	
  Sales	
   	
  
	
  
	
  
	
  
(123,456)	
  
	
  
in	
  the	
  Inline	
  XBRL	
  rendering	
  of	
  a	
  set	
  of	
  Accounts	
  might	
  be	
  marked	
  up	
  in	
  the	
  Inline	
  
XBRL	
  document	
  as	
  a	
  table	
  data	
  item	
  as	
  follows:	
  
	
  
	
  	
  	
  	
  	
  	
  	
  (123,456)

	
  
Note	
  that	
  the	
  brackets	
  are	
  outside	
  the	
  Inline	
  XBRL	
  mark-­‐up	
  so	
  as	
  not	
  to	
  interfere	
  with	
  
the	
  monetary	
  value	
  that	
  is	
  transformed	
  for	
  the	
  target	
  XBRL	
  instance	
  document.	
  
However,	
  in	
  this	
  case,	
  the	
  lack	
  of	
  a	
  sign	
  attribute	
  results	
  in	
  a	
  positive	
  value	
  in	
  the	
  
resulting	
  XBRL	
  instance	
  document	
  that	
  correctly	
  indicates	
  that	
  the	
  value	
  represents	
  a	
  
cost	
  amount:	
  
	
  
	
  	
  	
  	
  	
  	
  	
  123456
	
  
The	
  item	
  CostSales	
  would	
  normally	
  be	
  defined	
  in	
  the	
  Taxonomy	
  with	
  its	
  balance	
  set	
  to	
  
‘debit’	
  to	
  indicate	
  that	
  where	
  a	
  cost	
  is	
  reported	
  it	
  is	
  naturally	
  thought	
  of	
  as	
  a	
  decrease	
  
in	
  funds	
  (i.e.	
  a	
  debit)	
  and	
  so	
  doesn’t	
  need	
  to	
  be	
  explicitly	
  negated.	
  
	
  
c. Negative	
  underlying	
  value	
  with	
  positive	
  portrayal	
  
	
  
The	
  monetary	
  fact	
  representing	
  a	
  cost	
  of	
  disposal	
  in	
  a	
  statement	
  of	
  the	
  form:	
  
	
  
	
  
Disposal	
  Cost	
   	
  
	
  
	
  
45,678	
  
	
  
in	
  the	
  Inline	
  XBRL	
  rendering	
  of	
  a	
  set	
  of	
  Accounts	
  might	
  be	
  marked	
  up	
  in	
  the	
  Inline	
  
XBRL	
  document	
  as	
  a	
  table	
  data	
  item	
  using	
  a	
  revenue	
  tag	
  as	
  follows:	
  
	
  
	
  	
  	
  	
  45,678

	
  
Note	
  that	
  in	
  this	
  (slightly	
  contrived!)	
  example	
  the	
  cost	
  is	
  being	
  tagged	
  as	
  a	
  negative	
  
revenue.	
  The	
  presence	
  of	
  the	
  sign	
  attribute	
  results	
  in	
  a	
  negative	
  value	
  in	
  the	
  resulting	
  
XBRL	
  instance	
  document	
  that	
  correctly	
  indicates	
  that	
  the	
  value	
  represents	
  a	
  cost	
  
amount:	
  
	
  
	
  
-45678
	
  
The	
  item	
  DisposalRevenue	
  would	
  normally	
  be	
  defined	
  in	
  the	
  Taxonomy	
  with	
  its	
  
balance	
  set	
  to	
  ‘credit’	
  to	
  indicate	
  that	
  where	
  revenue	
  is	
  reported	
  it	
  is	
  naturally	
  

Page	
  12	
  of	
  18	
  
	
  

v1.3	
  –	
  December	
  2010	
  
	
  
thought	
  of	
  as	
  an	
  increase	
  in	
  funds	
  (i.e.	
  a	
  credit)	
  and	
  so	
  in	
  this	
  case	
  needs	
  to	
  be	
  
explicitly	
  negated	
  to	
  show	
  a	
  cost.	
  
	
  

4.5	
  

Scaling	
  and	
  Precision	
  

Numbers	
  may	
  be	
  conveniently	
  scaled	
  in	
  human-­‐readable	
  reports	
  to	
  show,	
  for	
  instance,	
  
figures	
  in	
  round	
  thousands	
  or	
  millions.	
  When	
  generating	
  human-­‐readable	
  output	
  
programatically	
  it	
  is	
  of	
  course	
  straightforward	
  to	
  ensure	
  that	
  if	
  scaling	
  is	
  required	
  the	
  
correct	
  precision	
  is	
  declared	
  and	
  the	
  correct	
  rounding	
  is	
  applied	
  to	
  the	
  value	
  to	
  ensure	
  
that	
  all	
  occurrences	
  of	
  the	
  same	
  fact	
  (whether	
  appearing	
  scaled	
  or	
  not)	
  remain	
  
equivalent	
  within	
  the	
  limits	
  of	
  their	
  declared	
  precisions.	
  
	
  
For	
  instance,	
  an	
  underlying	
  value	
  such	
  as	
  £1,234,567.89,	
  which	
  is	
  accurate	
  to	
  2	
  decimal	
  
places,	
  may	
  appear	
  rounded	
  to	
  the	
  nearest	
  pound	
  with	
  a	
  decimals	
  value	
  of	
  ‘0’	
  (i.e.	
  
£1,234,568),	
  rounded	
  to	
  the	
  nearest	
  thousand	
  with	
  a	
  decimals	
  value	
  of	
  ‘-­‐3’	
  and	
  a	
  scale	
  
value	
  of	
  ‘3’	
  (i.e.	
  £1,235),	
  or	
  rounded	
  to	
  the	
  nearest	
  tenth	
  of	
  a	
  million	
  with	
  a	
  decimals	
  
value	
  of	
  ‘-­‐5’	
  and	
  a	
  scale	
  value	
  of	
  ‘6’	
  (i.e.	
  £1.2).	
  The	
  latter,	
  when	
  un-­‐scaled	
  and	
  converted	
  
to	
  canonical	
  form	
  for	
  XBRL	
  would	
  result	
  in	
  a	
  value	
  of	
  £1,200,000	
  (accurate	
  to	
  -­‐5	
  decimal	
  
places),	
  which	
  nevertheless	
  is	
  “equivalent”	
  to	
  £1,234,567.89	
  (accurate	
  to	
  2	
  decimal	
  
places)	
  within	
  their	
  stated	
  accuracies.	
  However,	
  any	
  ‘higher’	
  value	
  for	
  decimals	
  (e.g.	
  ‘-­‐4’)	
  
would	
  result	
  in	
  an	
  inconsistency.	
  
	
  
Care,	
  however,	
  should	
  exercised	
  when	
  manually	
  marking	
  up	
  pre-­‐existing	
  financial	
  
reports.	
  The	
  original	
  author	
  will	
  have	
  applied	
  the	
  appropriate	
  scaling	
  and	
  rounding	
  
(correctly,	
  one	
  hopes)	
  and	
  it	
  is	
  the	
  responsibility	
  of	
  the	
  user	
  to	
  identify	
  the	
  correct	
  scale	
  
factor	
  to	
  declare	
  –	
  from	
  this	
  and	
  the	
  value	
  being	
  marked	
  up,	
  it	
  should	
  be	
  possible	
  for	
  
manual	
  tagging	
  applications	
  to	
  determine	
  the	
  necessary	
  decimals	
  value	
  to	
  set	
  an	
  
appropriate	
  precision.	
  If	
  rounding	
  has	
  been	
  mis-­‐applied	
  to	
  one	
  or	
  more	
  occurrences	
  of	
  
duplicate	
  values	
  in	
  the	
  original	
  document	
  (as	
  may	
  occur	
  when	
  summarising	
  more	
  
accurate	
  financial	
  data	
  from	
  the	
  body	
  of	
  a	
  report)	
  then	
  the	
  duplicate	
  values	
  may	
  be	
  
inconsistent	
  within	
  the	
  bounds	
  of	
  their	
  stated	
  accuracies.	
  Such	
  inconsistencies	
  may	
  
result	
  in	
  submission	
  rejection	
  or	
  increased	
  scrutiny	
  during	
  risk	
  analysis	
  within	
  HMRC.	
  

4.6	
  

Percentages	
  

The	
  conventional	
  representation	
  of	
  a	
  percentage	
  value	
  in	
  an	
  Inline	
  XBRL	
  document	
  can	
  
be	
  achieved	
  easily,	
  whilst	
  still	
  preserving	
  the	
  underlying	
  meaning	
  of	
  the	
  value	
  as	
  a	
  
decimal	
  fraction	
  (for	
  calculation	
  relationships,	
  etc).	
  However,	
  in	
  presentation	
  terms,	
  the	
  
choice	
  of	
  one	
  or	
  the	
  other	
  is	
  down	
  to	
  the	
  preference	
  of	
  the	
  preparer	
  (or	
  the	
  preparer’s	
  
software).	
  
	
  
The	
  Inline	
  XBRL	
  scale	
  attribute	
  can	
  be	
  used	
  to	
  effect	
  a	
  transformation	
  from	
  the	
  
conventional	
  representation	
  in	
  the	
  Inline	
  XBRL	
  document	
  to	
  a	
  decimal	
  fraction	
  in	
  the	
  
target	
  XBRL	
  instance	
  document.	
  A	
  scale	
  of	
  ‘-­‐2’	
  will	
  transform	
  a	
  value	
  such	
  as	
  ‘28%’	
  into	
  
the	
  equivalent	
  decimal	
  fraction	
  ‘0.28’.	
  A	
  unit	
  based	
  on	
  ‘pure’	
  should	
  be	
  applied	
  to	
  any	
  
percentage	
  values.	
  For	
  example,	
  given	
  the	
  following	
  line	
  item	
  in	
  an	
  Inline	
  XBRL	
  
rendering:	
  
	
  
	
  
First	
  Year	
  tax	
  Rate	
  
	
  
	
  
	
  
	
  
28%	
  
	
  
the	
  value	
  28%	
  is	
  marked	
  up	
  as	
  follows:	
  
	
  
28%

	
  
Note	
  that	
  the	
  percent	
  sign	
  itself	
  occurs	
  outside	
  of	
  the	
  Inline	
  XBRL	
  mark	
  up.	
  Also	
  note	
  
that	
  as	
  per	
  the	
  previous	
  section	
  on	
  Scaling	
  and	
  Precision,	
  a	
  decimals	
  value	
  of	
  2	
  has	
  been	
  
set,	
  which	
  is	
  appropriate	
  for	
  the	
  two	
  significant	
  decimal	
  places	
  of	
  the	
  target	
  value	
  0.28	
  –	
  
it	
  bears	
  no	
  relationship	
  to	
  the	
  pre-­‐scaled	
  value	
  that	
  appears	
  in	
  the	
  rendering.	
  
	
  

4.7	
  

Nesting	
  Mark-­‐up	
  

The	
  Inline	
  XBRL	
  Specification	
  allows	
  the	
  nonNumeric	
  element	
  to	
  contain	
  other	
  Inline	
  
XBRL	
  mark-­‐up	
  so	
  that	
  where	
  narrative	
  text	
  is	
  marked	
  up	
  as	
  a	
  single	
  block	
  of	
  text	
  within	
  
a	
  single	
  string-­‐type	
  item	
  using	
  ix:nonNumeric	
  it	
  is	
  still	
  possible	
  to	
  mark-­‐up	
  embedded	
  
facts	
  so	
  that	
  they	
  appear	
  as	
  discrete	
  items	
  in	
  the	
  target	
  XBRL	
  instance	
  document,	
  in	
  
addition	
  to	
  the	
  item	
  representing	
  the	
  text	
  block	
  as	
  a	
  whole.	
  This	
  is	
  particularly	
  useful	
  
where	
  a	
  value	
  or	
  a	
  significant	
  name	
  is	
  mentioned	
  in	
  the	
  middle	
  of	
  a	
  paragraph	
  of	
  text	
  
(such	
  as	
  the	
  Director’s	
  Report	
  or	
  one	
  of	
  the	
  Notes	
  to	
  the	
  Accounts).	
  
	
  
For	
  example,	
  the	
  description	
  of	
  a	
  contingent	
  liability	
  with	
  an	
  embedded	
  current	
  period	
  
liability	
  figure	
  might	
  be	
  marked	
  up	
  as	
  follows:	
  
	
  

The
company operates a confidential invoice discount facility. The
balance due on this facility was £5,000 at 31st March
2010.


	
  
This	
  would	
  result	
  in	
  two	
  distinct	
  items	
  in	
  the	
  target	
  XBRL	
  document:	
  
	
  
The company operates a
confidential invoice discount facility. The balance due on this
facility was £5,000 at 31st March 2010.

	
  
and	
  
	
  
5000

	
  
Note	
  that	
  the	
  figure	
  of	
  £5,000	
  is	
  repeated,	
  once	
  in	
  its	
  original	
  format	
  as	
  part	
  of	
  the	
  text	
  
description	
  item	
  (as	
  if	
  the	
  ix:nonFraction	
  markup	
  was	
  not	
  there)	
  and	
  once	
  in	
  its	
  
canonical	
  form	
  in	
  the	
  numeric	
  item.	
  
	
  
This	
  technique	
  can	
  also	
  be	
  used	
  to	
  avoid	
  the	
  necessity	
  for	
  hidden	
  duplicate	
  description	
  
items	
  where	
  tuples	
  are	
  used	
  to	
  mark	
  up	
  tabular	
  data.	
  In	
  the	
  following	
  table	
  a	
  single	
  
description	
  relates	
  to	
  two	
  separate	
  monetary	
  values	
  for	
  current	
  and	
  previous	
  periods:	
  
	
  
	
  
	
  
	
  
	
  
	
  
	
  
2010	
   	
  
2009	
  
	
  
	
  
Line	
  Description	
  
	
  
£100	
   	
  
£200	
  
	
  
This	
  may	
  need	
  to	
  be	
  marked-­‐up	
  as	
  two	
  separate	
  tuples	
  –	
  one	
  for	
  each	
  period,	
  with	
  the	
  
description	
  repeated	
  for	
  each	
  one.	
  However,	
  only	
  one	
  description	
  appears	
  on	
  the	
  face	
  of	
  
the	
  document.	
  The	
  solution	
  is	
  to	
  nest	
  the	
  mark-­‐up	
  of	
  the	
  description:	
  
Page	
  14	
  of	
  18	
  
	
  

v1.3	
  –	
  December	
  2010	
  
	
  
	
  

Line Description



100


200


	
  
This	
  results	
  in	
  four	
  items,	
  two	
  in	
  each	
  tuple,	
  in	
  the	
  target	
  XBRL	
  instance	
  document.	
  Each	
  
tuple	
  contains	
  a	
  description	
  item	
  and	
  a	
  value	
  item	
  (in	
  that	
  order)	
  where	
  the	
  description	
  
item	
  content	
  is	
  repeated	
  in	
  both.	
  
	
  
Note	
  that	
  the	
  contextrefs	
  for	
  the	
  items	
  in	
  tuple	
  ‘t1’	
  are	
  both	
  “CY”,	
  and	
  for	
  the	
  items	
  in	
  
tuple	
  ‘t2’	
  are	
  both	
  “PY”.	
  This	
  is	
  the	
  preferred	
  arrangement	
  (as	
  opposed	
  to	
  the	
  description	
  
item	
  in	
  one	
  or	
  both	
  cases	
  referring	
  to	
  the	
  alternate	
  contextref).	
  
	
  

4.8	
  

Tuple	
  Member	
  Ordering	
  

The	
  Inline	
  XBRL	
  Specification	
  deliberately	
  avoids	
  the	
  need	
  for	
  conformant	
  processors	
  to	
  
be	
  Taxonomy-­‐aware.	
  As	
  a	
  consequence,	
  an	
  Inline	
  XBRL	
  processor	
  is	
  not	
  aware	
  of	
  the	
  
constraints	
  of	
  the	
  content	
  model	
  of	
  a	
  Taxonomy	
  tuple	
  definition.	
  It	
  is	
  therefore	
  up	
  to	
  the	
  
creator	
  of	
  the	
  Inline	
  XBRL	
  mark-­‐up	
  to	
  explicitly	
  provide	
  information	
  about	
  the	
  order	
  in	
  
which	
  tuple	
  members	
  are	
  to	
  appear	
  in	
  the	
  target	
  XBRL	
  instance	
  document	
  (the	
  order	
  of	
  
tuples	
  themselves	
  and	
  other	
  primary	
  items	
  is,	
  of	
  course,	
  irrelevant).	
  
	
  
The	
  ‘order’	
  attribute	
  exists	
  to	
  carry	
  this	
  information	
  and	
  it	
  can	
  take	
  any	
  decimal	
  value.	
  
The	
  output	
  order	
  of	
  tuple	
  members	
  is	
  imposed	
  by	
  the	
  natural	
  ordering	
  relation	
  defined	
  
by	
  decimal	
  values	
  of	
  increasing	
  magnitude	
  -­‐	
  it	
  is	
  not	
  necessary	
  for	
  the	
  values	
  to	
  be	
  
consecutive	
  integers.	
  This	
  allows	
  an	
  application	
  to	
  assign	
  static	
  order	
  values	
  to	
  each	
  
member	
  of	
  a	
  tuple,	
  corresponding	
  with	
  the	
  order	
  defined	
  by	
  the	
  ComplexType	
  definition	
  
in	
  a	
  Taxonomy,	
  regardless	
  of	
  whether	
  every	
  tuple	
  member	
  appears	
  in	
  the	
  output.	
  
	
  
The	
  fractional	
  part	
  of	
  the	
  decimal	
  value	
  can	
  be	
  used	
  to	
  represent	
  the	
  order	
  of	
  members	
  
in	
  a	
  tuple	
  nested	
  inside	
  another	
  tuple.	
  	
  For	
  example,	
  if	
  a	
  tuple	
  were	
  the	
  4th	
  child	
  member	
  
of	
  an	
  enclosing	
  tuple	
  its	
  member	
  content	
  could	
  be	
  ordered	
  thus:	
  4.1,	
  4.2,	
  4.3,	
  etc	
  –	
  in	
  
terms	
  of	
  the	
  sub-­‐tuple	
  the	
  constant	
  integer	
  part	
  is	
  irrelevant;	
  the	
  ordering	
  of	
  members	
  is	
  
defined	
  by	
  the	
  fractional	
  part.	
  

Page	
  15	
  of	
  18	
  
	
  

v1.3	
  –	
  December	
  2010	
  
	
  

5.	
  XBRL-­‐related	
  Issues	
  
5.1	
  

Minimum	
  Tagging	
  Requirement	
  

In	
  recognition	
  of	
  the	
  effort	
  that	
  some	
  software	
  developers	
  have	
  to	
  expend	
  to	
  provide	
  a	
  
mapping	
  between	
  their	
  internal	
  application	
  information	
  model	
  and	
  the	
  information	
  
models	
  defined	
  by	
  the	
  available	
  Accounts	
  filing	
  Taxonomies,	
  HMRC	
  have	
  created,	
  in	
  
collaboration	
  with	
  XBRL	
  UK,	
  ‘minimum	
  tagging	
  requirements’	
  for	
  UK	
  GAAP	
  and	
  UK	
  IFRS.	
  
These	
  requirements,	
  expressed	
  as	
  Presentation	
  Linkbases	
  in	
  each	
  Taxonomy,	
  define	
  a	
  
much-­‐reduced	
  set	
  of	
  XBRL	
  tags	
  for	
  developers	
  to	
  work	
  with,	
  though	
  if	
  the	
  mapping	
  task	
  
is	
  not	
  so	
  onerous	
  for	
  particular	
  applications	
  there	
  is	
  no	
  reason	
  why	
  the	
  full	
  Taxonomy	
  
cannot	
  be	
  used	
  from	
  the	
  outset.	
  
	
  
These	
  Accounts	
  Taxonomy	
  minimum	
  tagging	
  requirements	
  are	
  transitional	
  
arrangements.	
  By	
  2013	
  (probably),	
  HMRC	
  will	
  phase	
  out	
  the	
  minimum	
  tagging	
  
requirements	
  and	
  expect	
  full	
  tagging	
  of	
  concepts	
  that	
  appear	
  in	
  the	
  base	
  Accounts	
  
Taxonomies	
  (i.e.	
  if	
  you	
  need	
  to	
  report	
  a	
  fact,	
  and	
  its	
  concept	
  definition	
  appears	
  in	
  the	
  
relevant	
  Accounts	
  Taxonomy,	
  it	
  will	
  need	
  to	
  be	
  marked	
  up	
  regardless).	
  
	
  
The	
  minimum	
  tagging	
  requirements	
  for	
  the	
  Accounts	
  Taxonomies	
  are	
  as	
  follows:	
  
	
  
Taxonomy	
  
Full	
  List	
  of	
  Concepts	
   Minimum	
  Tagging	
  Reqmt	
  
UK	
  GAAP	
  2008	
  
UK	
  GAAP	
  2009	
  
UK	
  IFRS	
  2009	
  

4,375	
  
5,242	
  
3,805	
  

1,182	
  
1,253	
  
1,623	
  

	
  
The	
  companion	
  Common	
  Data	
  Taxonomy	
  (which	
  is	
  actually	
  a	
  component	
  part	
  of	
  the	
  
2009	
  Accounts	
  Taxonomies),	
  which	
  contains	
  around	
  1,000	
  concept	
  and	
  domain	
  member	
  
definitions,	
  does	
  not	
  have	
  a	
  minimum	
  tagging	
  requirement,	
  but	
  typical	
  Statutory	
  
Accounts	
  documents	
  will	
  use	
  only	
  a	
  handful	
  of	
  CD	
  Taxonomy	
  concepts	
  anyway	
  (marked	
  
up	
  facts	
  in	
  an	
  Inline	
  XBRL	
  document	
  may	
  be	
  drawn	
  from	
  more	
  than	
  one	
  namespace,	
  and	
  
therefore	
  more	
  than	
  one	
  Taxonomy).	
  
	
  
A	
  similar	
  minimum	
  tagging	
  requirement	
  exists	
  for	
  the	
  HMRC	
  Tax	
  Computation	
  
Taxonomy,	
  but	
  in	
  this	
  case	
  the	
  arrangement	
  is	
  not	
  temporary.	
  The	
  Tax	
  Computation	
  
Taxonomy	
  dates	
  from	
  a	
  time	
  before	
  Inline	
  XBRL	
  was	
  envisaged,	
  and	
  was	
  an	
  attempt	
  to	
  
provide	
  a	
  comprehensive	
  Taxonomy	
  for	
  the	
  complete	
  XBRL	
  mark-­‐up	
  of	
  a	
  tax	
  
computation	
  (even	
  then	
  private	
  extension	
  taxonomies	
  were	
  considered	
  inevitable).	
  The	
  
minimum	
  tagging	
  requirement	
  for	
  the	
  Tax	
  Computation	
  Taxonomy	
  is,	
  in	
  effect,	
  the	
  Tax	
  
Computation	
  Taxonomy	
  that	
  would	
  have	
  been	
  created	
  in	
  the	
  Inline	
  XBRL	
  era.	
  It	
  contains	
  
just	
  those	
  concept	
  definitions	
  of	
  interest	
  to	
  HMRC,	
  eliminating	
  a	
  lot	
  of	
  detail	
  that	
  can	
  
now	
  be	
  provided	
  simply	
  as	
  XHTML.	
  However,	
  the	
  full	
  Taxonomy	
  remains	
  in	
  case	
  
software	
  developers	
  wish	
  to	
  mark	
  up	
  more	
  detail	
  (for	
  whatever	
  reason).	
  
	
  
The	
  Tax	
  Computation	
  Taxonomy	
  contains	
  about	
  4,500	
  concept	
  definitions	
  in	
  total,	
  
whereas	
  the	
  minimum	
  tagging	
  requirement	
  contains	
  only	
  1,350	
  of	
  these	
  concept	
  
definitions.	
  
	
  

5.2	
  

Entity	
  Identifier	
  Scheme	
  for	
  HMRC	
  submissions	
  

All	
  contexts	
  referenced	
  by	
  marked	
  up	
  data	
  items	
  in	
  submissions	
  to	
  HMRC	
  should	
  use	
  the	
  
relevant	
  Companies	
  House	
  Registration	
  Number	
  as	
  the	
  entity	
  identifier	
  value,	
  and	
  the	
  
scheme	
  name	
  ‘http://www.companieshouse.gov.uk/’.	
  E.g:	
  
Page	
  16	
  of	
  18	
  
	
  

v1.3	
  –	
  December	
  2010	
  
	
  
	
  


12345678





2007-04-01
2008-03-31



	
  
Note	
  that	
  the	
  scheme	
  URI	
  should	
  appear	
  with4	
  a	
  trailing	
  ‘/’	
  –	
  this	
  is	
  simply	
  a	
  convention	
  
that	
  we	
  have	
  chosen	
  to	
  adopt	
  and	
  agreed	
  with	
  both	
  XBRL	
  UK	
  and	
  Companies	
  House.	
  It	
  is	
  
important	
  to	
  settle	
  on	
  a	
  single	
  form	
  for	
  the	
  scheme	
  because	
  all	
  the	
  characters	
  of	
  the	
  URI	
  
are	
  significant	
  –	
  variants	
  with	
  or	
  without	
  the	
  trailing	
  ‘/’	
  are,	
  strictly	
  speaking,	
  different	
  
schemes.	
  
	
  
The	
  variant	
  with	
  the	
  trailing	
  slash	
  is	
  the	
  normalised	
  form	
  according	
  to	
  IETF	
  RFC	
  3986	
  –	
  
URI	
  Generic	
  Syntax5.	
  

	
  

5.3	
  

Document	
  Creator	
  Information	
  

All	
  software	
  developers	
  who	
  have	
  existing	
  HMRC	
  filing	
  products	
  will	
  know	
  that	
  HMRC’s	
  
Software	
  Developer	
  Support	
  Team	
  recommend	
  that	
  vendor,	
  product	
  and	
  version	
  
information	
  is	
  embedded	
  in	
  the	
  GovTalk	
  header	
  of	
  Gateway	
  submissions.	
  This	
  enables	
  
SDS	
  Team	
  to	
  provide	
  filing	
  statistics	
  to	
  individual	
  vendors	
  which	
  identify	
  how	
  well	
  (or	
  
badly!)	
  their	
  product	
  is	
  performing	
  in	
  the	
  hands	
  of	
  real	
  customers	
  and	
  where,	
  if	
  
necessary,	
  remedial	
  action	
  or	
  improvement	
  is	
  required.	
  The	
  CT	
  online	
  service	
  is	
  no	
  
different	
  in	
  this	
  regard,	
  but	
  the	
  inclusion	
  of	
  Accounts	
  produced	
  by	
  other	
  software	
  
products	
  into	
  the	
  filing	
  envelope	
  of	
  another	
  product	
  presents	
  difficulties6.	
  
	
  
To	
  enable	
  SDS	
  Team	
  to	
  provide	
  meaningful	
  statistics	
  to	
  vendors	
  of	
  standalone	
  Accounts	
  
production	
  software	
  packages	
  we	
  recommend	
  that	
  product	
  and	
  version	
  information	
  is	
  
embedded	
  in	
  the	
  generated	
  Inline	
  XBRL	
  document	
  using	
  the	
  document	
  metadata	
  tags	
  
from	
  the	
  Common	
  Data	
  Taxonomy	
  or	
  Common	
  Data	
  module	
  (vendor	
  web	
  site	
  URL	
  is	
  not	
  
necessary).	
  
	
  
For	
  information	
  relating	
  to	
  the	
  product	
  name	
  and	
  version	
  number	
  of	
  an	
  Accounts	
  
production	
  software	
  package	
  using	
  the	
  2008	
  Common	
  Data	
  Taxonomy	
  use	
  the	
  uk-­‐cd-­‐
pres:NameAuthor	
  element,	
  which	
  is	
  a	
  component	
  of	
  an	
  embedded	
  tuple.	
  The	
  value	
  
should	
  be	
  the	
  product	
  name	
  separated	
  from	
  the	
  version	
  number	
  by	
  a	
  single	
  space.	
  E.g.	
  
(omitting	
  context	
  refs,	
  etc	
  for	
  clarity):	
  



Acme Accounts v1.1

	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  
4	
  Please	
  note	
  that	
  this	
  is	
  a	
  reversal	
  from	
  previous	
  versions	
  of	
  this	
  document.	
  
5	
  Section	
  6.2.3,	
  Scheme-­‐based	
  Normalisation,	
  http://www.ietf.org/rfc/rfc3986.txt	
  
6	
  Separate	
  Tax	
  Computation	
  preparation	
  software	
  packages	
  are	
  unlikely	
  –	
  this	
  function	
  is	
  usually	
  closely	
  
associated	
  with	
  the	
  filing	
  application	
  that	
  creates	
  and	
  submits	
  the	
  CT600	
  XML	
  document.	
  

Page	
  17	
  of	
  18	
  
	
  

v1.3	
  –	
  December	
  2010	
  
	
  




	
  	
  
	
  
The	
  Inline	
  XBRL	
  equivalent	
  of	
  this	
  XBRL	
  fragment	
  (using	
  ix:tuple,	
  and	
  with	
  all	
  the	
  other	
  
optional	
  tuple	
  members	
  omitted)	
  can	
  be	
  placed	
  in	
  the	
  	
  section	
  of	
  the	
  
generated	
  Inline	
  XBRL	
  document	
  to	
  ensure	
  that	
  it	
  is	
  not	
  visible	
  in	
  the	
  rendered	
  view	
  of	
  
the	
  document	
  but	
  is	
  passed	
  through	
  into	
  the	
  target	
  XBRL	
  instance	
  document.	
  
	
  
The	
  structure	
  of	
  the	
  2009	
  Common	
  Data	
  module	
  (incorporated	
  in	
  the	
  2009	
  UK	
  GAAP	
  
and	
  UK	
  IFRS	
  Taxonomies)	
  has	
  changed	
  somewhat.	
  In	
  this	
  case	
  we	
  recommend	
  using	
  the	
  
single	
  XBRLDocumentAuthorGrouping	
  tuple,	
  identifying	
  the	
  author	
  as	
  a	
  software	
  
package	
  with	
  the	
  value	
  “Software”	
  in	
  the	
  ‘Description	
  or	
  Title	
  of	
  Author’	
  tag:	
  

Acme Accounts v1.1
Software


When	
  seeking	
  recognition	
  for	
  Accounts	
  production	
  products	
  it	
  is	
  important	
  that	
  
software	
  developers	
  use	
  the	
  product	
  name	
  string	
  in	
  NameAuthor	
  that	
  they	
  intend	
  to	
  
embed	
  in	
  live	
  submissions	
  so	
  that	
  SDS	
  Team	
  can	
  identify	
  product	
  names,	
  associate	
  them	
  
with	
  product	
  vendors	
  and	
  provide	
  meaningful	
  statistics	
  in	
  their	
  feedback.	
  

Page	
  18	
  of	
  18	
  
	
  



Source Exif Data:
File Type                       : PDF
File Type Extension             : pdf
MIME Type                       : application/pdf
PDF Version                     : 1.3
Linearized                      : No
XMP Toolkit                     : 3.1-702
Create Date                     : 2010:12:09 15:49:52Z
Creator Tool                    : Microsoft Word
Modify Date                     : 2011:01:06 09:16:32Z
Metadata Date                   : 2011:01:06 09:16:32Z
Format                          : application/pdf
Description                     : HMRC Inline XBRL Style Guide v1.3
Creator                         : .
Title                           : HMRC Inline XBRL Style Guide v1.3
Producer                        : Mac OS X 10.6.5 Quartz PDFContext
Document ID                     : uuid:8ec14fe2-f2ab-4e51-b917-79ad3c54c1dc
Instance ID                     : uuid:e01c0ce6-54fc-4cf8-8ad9-1b5c31417e7a
Page Count                      : 18
Subject                         : HMRC Inline XBRL Style Guide v1.3
Warning                         : [Minor] Ignored duplicate Info dictionary
EXIF Metadata provided by EXIF.tools

Navigation menu