電子帳簿保存法4条3項「スキャナ保存」制度を無理なく学習頂けるブログのご紹介です。
税務署への申請方法や「スキャナ保存」導入メリットやデメリットもしっかり踏み込んで書いています。
https://blog.antenna.co.jp/ILSoft2/
よりご覧ください。
最近のブルグタイトルは
第61回「問55 1人では、規則第3条第5項第4号(適正事務処理要件)イ及びロに規定する要件を満たすことはできないのでしょうか。」
です。
是非ご覧ください。
電子帳簿保存法4条3項「スキャナ保存」制度を無理なく学習頂けるブログのご紹介です。
税務署への申請方法や「スキャナ保存」導入メリットやデメリットもしっかり踏み込んで書いています。
https://blog.antenna.co.jp/ILSoft2/
よりご覧ください。
最近のブルグタイトルは
第61回「問55 1人では、規則第3条第5項第4号(適正事務処理要件)イ及びロに規定する要件を満たすことはできないのでしょうか。」
です。
是非ご覧ください。
前回は軸について調べましたので、今回はNodeTestを調べてみます。XPath仕様では、NodeTestを次のように規定しています[1]。
[7] NodeTest ::= NameTest | NodeType ‘(‘ ‘)’ | ‘processing-instruction’ ‘(‘ Literal ‘)’
[37] NameTest ::= ‘*’ | NCName ‘:’ ‘*’ |QName
[38] NodeType ::= ‘comment’|’text’|’processing-instruction’|’node’
まず主ノードタイプを次のように定義します。ステップの文法では軸の指定に続いてNodeTestを記述します。NodeTestでは軸毎に主ノードタイプに該当するノードを選択することになります。
・attribute軸の主ノードタイプは属性
・namespace軸の主ノードタイプは名前空間
・その他の軸の主ノードタイプは要素
文法上は、attribute::text()のような組み合わせができますが、これは無意味なので何も選択しません。
(1) NameTest
NameTestでは要素や属性の名前を指定して一致するものを選択します。
NameTestでは’*’を使えます。’*’は主ノードタイプが何であれすべてのノードに対して真となります。但し、NameTestの前には、軸指定子(AxisSpecifier)が置かれます。軸指定子が省略されないときは、例えば、child::* は起点ノードの子供であるすべての要素ノードを選択します。attribute::*は起点ノードのすべての属性を選択します。
ステップでは軸指定子を省略できます。するとステップは*または@*の形式となります。ステップにおいて*を指定するとchild::*であり、@*とするとAttribute::*です(第6回[3]の[5]と[13]の規定による)。
二番目のNCNameは、名前空間の接頭辞です。接頭辞はXML名前空間の仕様で規定されています[2]。
xmlns:svg=”http://www.w3.org/2000/svg”
という名前空間の宣言があるとしますと、NCNameは’svg’にあたります。svg:*はsvg名前区間にあるすべてのノードを選択し、child::svg:*は文脈ノードの子供でsvg名前空間に属する要素ノードをすべて選択します。
QNameは名前空間接頭辞(オプション)で修飾された名前です。
(2) NodeType ‘(‘ ‘)’
NodeTestは、ノードの種類でノードを選択することもできます。ノードの種類は次の4種類です。
comment()
text()
processing-instruction()
node()
例えば、child::text()は起点ノードの子供のテキストノードを選択します。
comment()はコメントノード、processing-instruction()は処理命令のノードを選択します。
node()は任意の種類のノードを選択します。
ステップで、node()と記述すると、軸を省略したことになり、child::node()を意味します。従って、要素ノードのみを選択します。
[1] 2.3 Node Tests
[2] 3 Declaring Namespaces
[3] XSLTを学ぶ(6)ステップの文法を追求する
次回:
XSLTを学ぶ(9) ステップの文法を追求する-述部(Predicates)と式
前回:
XSLTを学ぶ(7)ステップの文法を追求する-軸とは
初回:
XSLTを学ぶ(1)XMLのツリーモデルとXPath/XSLTのツリーモデルではルートの意味が違う